Sail


手在键盘敲很轻


docker-compose生成的容器立刻退出,exited with code 0

问题

通过自己编写的docker-compose.yml管理项目。

但是生成的容器却立刻退出。


解决

Docker镜像的缺省命令是bash,如果不加 -it,bash命令执行了自动会退出,加-it后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出

像不使用docker-compose,我们会执行类似如下的命令

docker run -it --name node node

docker-compose需要额外配置下

需要在docker-compose.yml中包含以下行:

1
2
stdin_open: true
tty: true

第一个对应于docker run中的 -i ,第二个对应于 -t .


参考

Docker-Composer exited with code 0
交互式shell使用Docker Compose
Docker Compose—简化复杂应用的利器

© 2016-2019. | 由Hexo强力驱动 | 主题Huno | 渝ICP备17002561号 | 不装弱了,我要做大佬