在包含 docker 日志的 docker 容器中看不到 ruby 进程输出



这是我的Dockerfile:

FROM ruby:2.4
CMD ruby -e "while true do; puts 'Hello, world!'; sleep 1; end"

当我运行它docker run <image>我看不到任何docker logs <container>

为什么?如何解决?

附言

~$ docker --version
Docker version 18.03.1-ce, build 9ee9f40

你的docker run command是什么? 您必须在运行命令中使用 -d 选项,而不是使用 -it

这是因为您正在以外壳形式定义CMD

你应该切换到exec形式:["可执行文件","param1","param2"]如果你不希望你的命令在shell中执行

结果将是:

CMD ["ruby", "-e", "while true do; puts 'Hello, world!'; sleep 1; end"]

最新更新