问:如何在分离模式下运行docker-compose
我试图在分离模式下运行docker-compose但它 will exits after just it's run ,但我能够使用'docker run'命令在分离模式下运行相同的图像 .
- 使用'docker run'命令运行图像 (works in detach mode)
docker run -itd ubuntu:16.04
下面是'docker ps -a'命令的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d84edc987359 ubuntu:16.04 "/bin/bash" 4 seconds ago Up 3 seconds romantic_albattani
- 使用'docker-compose up -d'命令 (didn't work in detach mode) 运行相同的图像
下面是我的docker-compose.yml文件
version: '3'
services:
ubuntu:
image: ubuntu:16.04
'docker-compose ps'命令输出
Name Command State Ports
----------------------------------------------------
composetesting_ubuntu_1 /bin/bash Exit 0
更新:在docker-compose.yml文件中使用tty:true参数时,如下所示
version: '3'
services:
ubuntu:
image: ubuntu:16.04
tty: true
然后控制台不会执行任何命令,就像我键入'ls -l'命令控制台将不响应 .
2 回答
我只需要将tty:true添加到我的docker-compose.yml中
Docker版本1.12.5,build 7392c3b
docker-compose版本1.7.1,build 0a9ab35
在@ fewtile42 's answer is correct respect to my question. But only using ' tty:true'参数用户将无法执行任何命令,因此如果还想执行或与控制台交互,则还应使用 'stdin_open: true' 参数 .