** 问题 **
通过自己编写的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 | stdin_open: true |
第一个对应于docker run中的 -i ,第二个对应于 -t .
** 参考 **
Docker-Composer exited with code 0
交互式shell使用Docker Compose
Docker Compose—简化复杂应用的利器