docker start啟動容器后仍然exit狀態(tài)的解決
docker start啟動容器后仍然exit狀態(tài)
docker start 啟動容器后仍然exit狀態(tài),不清楚什么原因沒有任何報錯
centos的系統(tǒng),其他的容器啟動正常,nginx啟動不了!
創(chuàng)建容器:
docker run -id --name=c_nginx2 -p 80:80 -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/var/log/nginx -v $PWD/html:/usr/share/nginx/html ?nginx
請路過的大俠幫解答以下,容器刪除重新嘗試仍然不行
----------------------問題解決了----------------------
原因
nginx。conf 文件內(nèi)容有問題,查找方法;
解決方法
通過 docker logs -f container_id 能看到哪里錯了
docker容器閃退,docker exited 0原因分析及解決
近來開始系統(tǒng)學(xué)習(xí)Docker相關(guān)的知識,碰到的第一個攔路虎就是容器無報錯閃退。誠以此文記錄該問題的解決過程以及決絕辦法。
問題及現(xiàn)象描述
使用Dockerfile編寫一個Tomcat的部署文件過程中,遇到了一個問題,不得其解。
鏡像構(gòu)建的過程當(dāng)中,layer的拉取,命令的執(zhí)行均可以進(jìn)行,而且運行日志也打印了start tomcat,但是容器就是起不來,不能正常使用。
Exit0現(xiàn)象以及對應(yīng)解決辦法
場景復(fù)現(xiàn)及結(jié)論
解決程序問題的最好辦法就是場景復(fù)現(xiàn),只有場景復(fù)現(xiàn)了,才能更好的對癥下藥。下面采用著名鏡像《hello-world》來進(jìn)行實驗。
docker ps -a ##查看當(dāng)前所有的容器
上圖中可以看出hello-world鏡像對應(yīng)容器的狀態(tài)是exited 0 狀態(tài)。
但是Hello-World鏡像對應(yīng)的展示內(nèi)容,可以正常顯示。
結(jié)論: Exit0 是一種狀態(tài),只是代表容器正常關(guān)閉的狀態(tài)。并不表明,容器的運行或者Dockerfile的編寫存在問題。
Exit0出現(xiàn)原因以及對應(yīng)的解決辦法
原因:
Container容器中沒有前臺運行的進(jìn)程以后,容器就會自動退出,并返回狀態(tài)碼為0。這個地方的前臺進(jìn)程可以理解為一個長服務(wù),也就是一個一直在運行的進(jìn)程。比如說Linux服務(wù)器當(dāng)中的守護(hù)進(jìn)程。
解決辦法:
容器啟動時,增加一個可以長運行的服務(wù)。
一般來說:使用docker run -t -d Image可以解決。
解決不了:就是增加一些長服務(wù)命令,比如設(shè)置進(jìn)程為守護(hù)進(jìn)程等等。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具的操作步驟詳解
這篇文章主要介紹了樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Docker-compose一鍵部署gitlab中文版的方法步驟
這篇文章主要介紹了Docker-compose一鍵部署gitlab中文版的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12Docker中使用Nginx代理多個應(yīng)用站點的方法
這篇文章主要介紹了Docker中使用Nginx代理多個應(yīng)用站點的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12