docker run之后狀態(tài)總是Exited
add -it
docker run -it -name test -d nginx:latest /bin/bash
-d: 后臺運行容器,并返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
補充知識:docker-compose 通過sh命令啟動nginx 容器自動退出exited with code 0
docker-compose使用的模板文件中有通過entrypoint或者command參數(shù)設置容器啟動自動執(zhí)行sh命令開啟nginx服務,但是docker-compose up后容器自動退出了
nginx-web1 exited with code 0
nginx-web2 exited with code 0
nginx-web3 exited with code 0
原因:Docker的機制是讓容器后臺運行,必須至少有一個前臺進程,容器運行的命令如果不是那些一直掛起的命令(比如運行top,tail),會自動退出
解決:可以使用包含 -g “daemon off;” 配置項的sh命令以前臺方式開啟nginx服務
nginx -c /usr/local/nginx/conf/nginx.conf -g "daemon off;"
如果容器需要同時啟動多個進程,只需要將其中一個掛起到前臺即可,例如:
service php-fpm start && nginx -g "daemon off;"
或
service php-fpm start && service nginx start && tail -f /var/log/nginx/error.log
以上這篇docker run之后狀態(tài)總是Exited就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。