我想使用docker-compose启动一个服务并保持容器运行,以便我可以通过'docker inspect'获取其IP地址。但是,容器在启动后总是立即退出。
我尝试将"command: ['sleep', '60']"等内容添加到docker-compose.yml文件中,但是每次添加了"command:..."行后,我就无法调用"docker-compose up"命令,因为会收到消息"Cannot start container.....System error: invalid character 'k' looking for beginning of value"
我还尝试在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出了同样的问题: 每次在Dockerfile中添加“CMD ...”或在compose文件中添加“command ...”,就会出现上述无效字符的错误。如果删除这两个命令,它就可以无缝运行。