在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Linux/ 為什么docker-compose運(yùn)行nginx需要 "deamon

為什么docker-compose運(yùn)行nginx需要 "deamon off"

docer-compose.yml

# nginx
nginx_test:
  container_name: "nginx_test"
  image: "nginx"
  tty: true
  # command: nginx
  command: nginx -g "daemon off;"

如果按照注釋的地方配置,容器會(huì)一直是exited狀態(tài)。

docker-compose 日志:

nginx_test exited with code 1

補(bǔ)充說(shuō)明:
1 下載的官方鏡像。
2 用docker inspect命令可以看到,默認(rèn)的命令就是command: nginx -g "daemon off;",因此可以不填寫 command配置。
但是我的問(wèn)題是,為什么一定要加上daemon off, nginx 容器才能正常運(yùn)行?

回答
編輯回答
女流氓

你下載的是否是官方鏡像?
如果是官方鏡像,不需要使用command,容器啟動(dòng)成功既nginx啟動(dòng)成功。

2017年11月1日 22:43
編輯回答
有點(diǎn)壞
docker 容器默認(rèn)會(huì)把容器內(nèi)部第一個(gè)進(jìn)程,也就是pid=1的程序作為docker容器是否正在運(yùn)行的依據(jù),如果docker 容器pid掛了,那么docker容器便會(huì)直接退出

docker run的時(shí)候把command最為容器內(nèi)部命令,如果你使用nginx,那么nginx程序?qū)⒑笈_(tái)運(yùn)行,這個(gè)時(shí)候nginx并不是pid為1的程序,而是執(zhí)行的bash,這個(gè)bash執(zhí)行了nginx指令后就掛了,所以容器也就退出了,和你這個(gè)一樣的道理,pm2 start 過(guò)后,bash 的pid為1,那么此時(shí)bash執(zhí)行完以后會(huì)退出,所以容器也就退出了。

2017年10月31日 08:14