docker-compose可以把一組鏡像通過docker-compose.yml編排到一起蚕甥,然后一起啟動(dòng)服務(wù)蔬蕊,一起停止服務(wù)晰筛。
詳細(xì)說明見:https://docs.docker.com/engine/reference/commandline/compose_up/?
在docker-compose.yml文件目錄執(zhí)行命令:
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管理項(xiàng)目谨究。
但是生成的容器卻立刻退出逻锐。
解決
Docker鏡像的缺省命令是bash夫晌,如果不加?-it,bash命令執(zhí)行了自動(dòng)會(huì)退出,加-it后docker命令會(huì)為容器分配一個(gè)偽終端昧诱,并接管其stdin/stdout支持交互操作晓淀,這時(shí)候bash命令不會(huì)自動(dòng)退出
像不使用docker-compose,我們會(huì)執(zhí)行類似如下的命令
docker run -it --name node node
但docker-compose需要額外配置下
需要在docker-compose.yml中包含以下行:
stdin_open: true
tty: true
第一個(gè)對(duì)應(yīng)于docker run中的 -i ,第二個(gè)對(duì)應(yīng)于 -t .
如果想在后臺(tái)啟動(dòng),需要在up時(shí)加-d參數(shù):docker-compose up -d