docker容器自動退出重啟報錯問題及解決
docker容器自動退出重啟報錯
docker容器自動退出的原因是什么
為何docker剛啟動起來就退出了
是因為 沒有一個可以支撐docker 持久運行下去的命令。
退出原因
1、docker容器運行必須有一個前臺進程, 如果沒有前臺進程執(zhí)行,容器認為空閑,就會自行退出
2、容器運行的命令如果不是那些一直掛起的命令( 運行top,tail、循環(huán)等),就是會自動退出
3、這個是 docker 的機制問題
個人遇到的問題
我這里使用的mysql鏡像,停止鏡像之后輸入啟動命令發(fā)現(xiàn)報錯

正確解決辦法應該是
docker restart 鏡像名
之前的啟動命令沒有實現(xiàn)交互運行,所以一旦沒有前臺進程執(zhí)行,容器認為空閑,就會自行退出,我再次輸入啟動命令之后出現(xiàn)報錯,原因是沒有移除容器

輸入命令
docker ps -a
發(fā)現(xiàn)容器沒有移除

先停止容器,然后在移除容器
docker stop 鏡像id
docker rm 鏡像id
移除再次輸入docker ps -a 已經(jīng)移除成功

重新輸入啟動命令
docker run --name mysql8.0 -d -it -p 3306:3306 mysql:8.0.21 /bin/bash
啟動成功!

docker記錄啟動容器的報錯處理
查看日志
語法:
docker logs 容器ID或容器的名
沒報錯,啟動立馬關閉
問題:
1、docker容器運行必須有一個前臺進程, 如果沒有前臺進程執(zhí)行,容器認為空閑,就會自行退出
2、容器運行的命令如果不是那些一直掛起的命令( 運行top,tail、循環(huán)等),就是會自動退出
3、這個是 docker 的機制問題
解決:
1,把剛剛的容器刪了:docker rm 容器名或ID
2,docker run -p 6666:80 -dit --name=test nginx
- 添加-it 參數(shù)交互運行
- 添加-d 參數(shù)后臺運行
- 這樣就能啟動一個一直停留在后臺運行的nginx了
容器里面的配置出錯,進不去容器
思路:
cd進行/var/lib/docker,這個文件是docker存的,搜索你要想必的文件,然后修改這個配置
- 1: find . -name default.conf
- 2: vi 查出來的路徑 //修改
啟動成功,外面訪問不到
看看是不是防火器的問題:
systemctl stop firewalld.service 停止防火墻 systemctl disable firewalld.service 禁止防火墻開機啟動 firewall-cmd --state 檢測防火墻是否關閉 systemctl list-unit-files | grep firewalld.service 查看有沒有禁止防火墻開機自啟
啟動報錯1
[root@localhost ~]# docker start mynginx
Error response from daemon: driver failed programming external connectivity on endpoint mynginx (1f5125fc7eddc9b34ce8f8f4417186d4ce1382643b5001fc468d17dd64f34f15): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8888 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
因為在啟動docker容器的時候或者做docker配置的時候,還對防火墻設置重新啟動等配置,這樣會清除docker的相關配置,導致在查詢防火墻規(guī)則的時候顯示不到docker的鏈。
解決:重啟docker
systemctl restart docker
有時候重啟沒效果可以選擇停止docker,在啟動
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
docker在windows創(chuàng)建卷后本地找不到的完美解決方法
這篇文章主要介紹了docker在windows創(chuàng)建卷后本地找不到的完美解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-02-02
Docker基于macvlan實現(xiàn)跨主機容器通信
這篇文章主要介紹了Docker基于macvlan實現(xiàn)跨主機容器通信,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05
ssh 直接登錄docker容器的操作方法(不用通過宿主機進入)
這篇文章主要介紹了ssh 直接登錄docker容器的操作方法(不用通過宿主機進入),本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-06-06
使用Docker Compose 實現(xiàn)nginx負載均衡的方法步驟
這篇文章主要介紹了使用Docker Compose 實現(xiàn)nginx負載均衡的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
docker可視化管理工具portainer忘記密碼重置教程的實現(xiàn)
本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08

