是否可以使Docker的容器输出着色?

qoefvg9y  于 2022-11-22  发布在  Docker
关注(0)|答案(4)|浏览(166)

我把我的Spring-boot应用程序打包到了docker的容器中。现在应用程序的输出不再是彩色的了。我该怎么解决这个问题呢?

mbzjlibv

mbzjlibv1#

实际上,当运行Docker映像时,您看到的是从Docker引擎(守护进程服务器)接收的应用程序日志,而不是直接从spring应用程序接收的。换句话说,在Docker中,您的应用程序在容器外部运行,但Docker服务器以JSON格式复制实时日志,以将其显示为容器输出,这就是为什么它没有着色。
检查ccze Linux软件包,它可以解决这个问题。下面是一个相关问题how-to-colorize-logs-for-docker-container

oewdyzsn

oewdyzsn2#

如果您运行带有-it标志的容器,您可能会看到彩色输出。例如:
docker run -it --rm springio/gs-spring-boot-docker
有关-it标志的更多信息:what is docker run -it flag?

vlf7wbxs

vlf7wbxs3#

在您的docker-compose.yml文件中,有一个属性可以设置为tty: true,它将告诉您的应用程序它正在TTY中运行,当检测到时,它将允许ANSI着色。

dzhpxtsq

dzhpxtsq4#

将容器与ssh一起使用
更改容器名和用户名

docker start CONTAINER_NAME
docker container exec -d CONTAINER_NAME service ssh start   # ssh should be installed!

#obtain ip address if it is not defined as static
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' CONTAINER_NAME | xclip # xclip should be installed
ipaddress=`xclip -o`

#connect
ssh USER_NAME@$ipaddress -X

相关问题