docker-compose可以把一组镜像通过docker-compose.yml编排到一起,然后一起启动服务,一起停止服务。
详细说明见:https://docs.docker.com/engine/reference/commandline/compose_up/
在docker-compose.yml文件目录执行命令:
Create and start containers:docker-compose up -d
-d的说明:(--detach , -dDetached mode: Run containers in the background)
Stop and remove containers, networks: docker-compose down
常见问题1: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中包含以下行:
stdin_open: true
tty: true
第一个对应于docker run中的 -i ,第二个对应于 -t .
如果想在后台启动,需要在up时加-d参数:docker-compose up -d