解決docker run后容器出現(xiàn)Exited (0)情況的問(wèn)題
自己做了個(gè)centos7的openresty的Dockerfile,build之后
docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx
之后docker ps -a出現(xiàn)如下情況
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dee2d04b3b5 openresty:1.19 '/usr/local/openrest…' 24 seconds ago Exited (0) 7 seconds ago gifted_bhabha 69846af3baa7 redis:latest 'docker-entrypoint.s…' 24 minutes ago Up 24 minutes 0.0.0.0:6379->6379/tcp rds
openresty狀態(tài)顯示為Exited (0)
原因:Docker的機(jī)制是讓容器后臺(tái)運(yùn)行,必須至少有一個(gè)前臺(tái)進(jìn)程,容器運(yùn)行的命令如果不是那些一直掛起的命令(比如運(yùn)行top,tail),會(huì)自動(dòng)退出
解決:可以使用包含 -g “daemon off;” 配置項(xiàng)的sh命令以前臺(tái)方式開(kāi)啟nginx服務(wù)
因此啟動(dòng)指令調(diào)整如下:
docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx -g 'daemon off;'
再次docker ps -a看看效果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0291303ca61b openresty:1.19 '/usr/local/openrest…' 29 seconds ago Up 28 seconds strange_curie 69846af3baa7 redis:latest 'docker-entrypoint.s…' 26 minutes ago Up 26 minutes 0.0.0.0:6379->6379/tcp rds
補(bǔ)充:docker啟動(dòng)時(shí)一直處于exited狀態(tài),解決fangfa
docker啟動(dòng)時(shí)一直處于exited狀態(tài)
步驟一、docker rm 容器id 將容器刪除
步驟二、docker rmi 鏡像id 將鏡像刪除(只有先刪除容器,才能刪除鏡像)
步驟三、docker build -t tomcat:centos . 重新創(chuàng)建容器
步驟四、docker run --privileged -it -d --name tomcat01 -p 1216:8080 tomcat:centos(加權(quán)限和)
指定一個(gè)偽終端)
錯(cuò)誤導(dǎo)致原因1缺少權(quán)限 2沒(méi)有運(yùn)行終端
注:?privileged 加權(quán)限
-t 指定一個(gè)偽終端
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML2. 利用單元測(cè)試對(duì)PHP代碼進(jìn)行檢查3. python excel和yaml文件的讀取封裝4. python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)5. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決6. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊7. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析8. 如何對(duì)php程序中的常見(jiàn)漏洞進(jìn)行攻擊9. 詳解Python利用configparser對(duì)配置文件進(jìn)行讀寫(xiě)操作10. 利用python 下載bilibili視頻
