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就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
harbor可視化私有鏡像倉庫環(huán)境及服務部署示例
這篇文章主要為大家介紹了harbor可視化私有鏡像倉庫環(huán)境及服務部署示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04啟動Docker服務后顯示Docker Engine stopped解決辦法
這篇文章主要給大家介紹了關于啟動Docker服務后顯示Docker Engine stopped的解決辦法,文中通過圖文介紹的非常詳細,對大家學習或者使用Docker具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01