解決虛擬機(jī)掛起后再恢復(fù)后Docker部署的應(yīng)用無(wú)法連接問(wèn)題
使用netstat -ntlp命令查看端口狀態(tài)
可以看到監(jiān)聽(tīng)的是tcp的ipv6的端口,所以需要配置ipv4
[root@zjj101 2m-2s-async]# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1224/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 942/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1106/master tcp6 0 0 :::9876 :::* LISTEN 78614/java tcp6 0 0 :::22 :::* LISTEN 942/sshd tcp6 0 0 ::1:25 :::* LISTEN 1106/master
修改配置文件
root@zjj101 2m-2s-async]# vi /usr/lib/sysctl.d//00-system.conf
00-system.conf 文件添加內(nèi)容: net.ipv4.ip_forward = 1 ,然后 esc !wq 保存
說(shuō)明:
net.ipv4.ip_forward 等于0表示不開(kāi)啟,為1表示開(kāi)啟。
00-system.conf 文件內(nèi)容:
# Kernel sysctl configuration file # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 # 啟用ip轉(zhuǎn)發(fā)功能 net.ipv4.ip_forward = 1
重啟網(wǎng)絡(luò)服務(wù)
命令: systemctl restart network
# 重啟服務(wù) [root@zjj101 2m-2s-async]# systemctl restart network # 查看配置是否生效,如果返回為“net.ipv4.ip_forward = 1”則表示成功 [root@zjj101 2m-2s-async]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
驗(yàn)證效果
此時(shí)訪問(wèn)一下,我這邊發(fā)現(xiàn)可以訪問(wèn)了,即使 虛擬機(jī)再次掛起,再恢復(fù),也能訪問(wèn)了
如果還不能訪問(wèn)怎么辦?
重啟Docker里面的container
# 查看docker container ,發(fā)現(xiàn)兩個(gè)都是Exited 狀態(tài),這不正常,下面開(kāi)始重啟 [root@zjj101 2m-2s-async]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8910b880038a styletang/rocketmq-console-ng "sh -c 'java $JAVA_O…" 2 days ago Exited (137) 2 minutes ago gifted_johnson e827d21c2efe uifd/ui-for-docker "/ui-for-docker" 2 days ago Exited (2) 2 minutes ago docker-web # 重啟docker CONTAINER ID 為 8910b880038a 的 CONTAINER [root@zjj101 2m-2s-async]# docker restart 8910b880038a 8910b880038a # 重啟docker CONTAINER ID 為 e827d21c2efe的 CONTAINER [root@zjj101 2m-2s-async]# docker restart e827d21c2efe e827d21c2efe
上面步驟做完了,不出意外基本就可以訪問(wèn)了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker容器的調(diào)試技巧之docker logs與docker service logs
這篇文章主要介紹了Docker容器的調(diào)試技巧之docker logs與docker service logs,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker部署Memos服務(wù)的實(shí)現(xiàn)
本文將介紹如何使用Docker部署Memos服務(wù),首先,我們將構(gòu)建Memos服務(wù)的Docker鏡像,然后將在Docker容器中運(yùn)行Memos服務(wù),感興趣的可以了解一下2023-12-12
淺談Docker run 容器處于created狀態(tài)問(wèn)題
這篇文章主要介紹了解決Docker run 容器處于created狀態(tài)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Docker容器處于Removal in process無(wú)法刪除問(wèn)題及解決
這篇文章主要介紹了Docker容器處于Removal in process無(wú)法刪除問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-07-07
Docker進(jìn)入容器并運(yùn)行命令的方法及常見(jiàn)問(wèn)題解決
Docker?是一個(gè)開(kāi)源的應(yīng)用容器引擎,它允許開(kāi)發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的?Linux?機(jī)器上,也可以實(shí)現(xiàn)虛擬化,這篇文章主要介紹了Docker進(jìn)入容器并運(yùn)行命令的方法及常見(jiàn)問(wèn)題,需要的朋友可以參考下2025-05-05
docker測(cè)試時(shí)候命令無(wú)法補(bǔ)全的解決方法
因?yàn)樽罱趯W(xué)習(xí)使用Docker,所以出現(xiàn)了好多的問(wèn)題,昨天遇到的一個(gè)問(wèn)題是在docker測(cè)試時(shí)候發(fā)現(xiàn)命令無(wú)法補(bǔ)全,通過(guò)查找資料最后解決了,現(xiàn)在將方法分享給有需要的人,大家可以參考學(xué)習(xí)。2016-11-11
docker 復(fù)制容器的項(xiàng)目實(shí)踐
本文主要介紹了docker 復(fù)制容器的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
如何在Docker環(huán)境下為Nginx配置HTTPS
如何在Docker環(huán)境下為Nginx配置HTTPS,使用自簽名證書(shū)實(shí)現(xiàn)加密通信,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-11-11

