【发布时间】:2016-11-27 13:20:58
【问题描述】:
我想用 docker-compose 启动一个服务并保持容器运行,这样我就可以通过 'docker inspect' 获取它的 IP 地址。但是,容器总是在启动后立即退出。
我尝试在 docker-compose.yml 中添加“command: ["sleep", "60"]" 和其他内容,但是每当我添加带有“command:...”的行时,我都无法调用“docker-撰写”,因为我将收到消息“无法启动容器.....系统错误:无效字符'k'正在寻找值的开头”
我还尝试在 Dockerfile 本身中添加“CMD sleep 60”等,但这些命令似乎没有被执行。
有没有一种简单的方法可以让容器保持活力或解决我的一个问题?
编辑: 这是我要运行的 Compose 文件:
version: '2'
services:
my-test:
image: ubuntu
command: bash -c "while true; do echo hello; sleep 2; done"
如果我在 OS X 下使用 docker-compose 启动它,它工作正常,但如果我在 Ubuntu 16.04 下尝试相同,它会给我上面的错误消息。
如果我尝试使用 Dockerfile 的方法,Dockerfile 看起来像这样:
FROM ubuntu:latest
CMD ["sleep", "60"]
似乎什么都没做
编辑 2: 我必须纠正自己,结果发现 Dockerfile 和 docker-compose.yml 存在同样的问题: 每次我将“CMD ...”添加到 Dockerfile 或将“command ...”添加到撰写文件时,我都会遇到无效字符的错误。如果我删除这两个命令,它会完美运行。
【问题讨论】:
-
请包含 docker-compose.yml、Dockerfile 以及您尝试调试的任何脚本。
标签: docker docker-compose