Docker日志不显示颜色(express + nodejs图像)
一个小问题,但有趣的问题(对我来说):
我正在尝试从我写的一个小型服务器(nodejs + express)创builddocker镜像。 我的服务器代码是:
var express = require('express'); var Inflector = require('inflected'); var colors = require('colors'); var app = express(); app.get('/hello/:name', function(req, res, next){ var name = Inflector.titleize(req.params.name); console.log("Saying hello to " + name.yellow); res.send('Hello ' + name); }); var port = 9090; app.listen(port, function(){ console.log(('App is running on port ' + port).inverse); });
我用这个Dockerfile创build我的镜像:
FROM centos:centos6 RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm RUN yum install -y npm COPY . /src RUN cd /src; npm install EXPOSE 9090 CMD ["node", "/src/index.js"]
使用通用命令构build和运行映像:
docker build -t username:centos-nodejs docker run -p 9090:9090 username:centos-nodejs
我期待日志显示在命令行中的颜色,因为他们没有docker(例如node index.js
)。
是什么原因,我可以解决这个问题?
您需要使用“-it”选项运行您的容器:
docker run -it -p 9090:9090 username:centos-nodejs
不是特定问题的答案,但是如果您使用debugging库并具有相同的问题,则会有一个非文档化的环境variables,即使在非TTY时也可以启用颜色:
https://github.com/visionmedia/debug/blob/39ecd87bcc145de5ca1cbea1bf4caed02c34d30a/node.js#L45
因此,将DEBUG_COLORS=true
添加到您的环境variables中可以修复debugging库的颜色。
- dotnet docker / bin / sh:1:[dotnet ,:找不到
- sonatype nexus docker音量错误
- 使用Docker for Development,我错过了这个观点吗?
- validationdocker-compose yml文件
- 与主机数据目录映射时,Docker容器数据变为空白
- 如何重新启动已停止的泊坞窗容器
- 使用Java应用程序创builddocker图像
- 对于基于Docker容器的实现,在同一个容器中运行一对Kafka服务器和Zookeeper服务器是否有意义?
- eval $(docker-machine env myvm1)不会切换到shell以与myvm1进行通信