解決虛擬機掛起后再恢復后Docker部署的應(yīng)用無法連接問題
更新時間:2024年04月01日 11:06:53 作者:張俊杰1994
這篇文章主要介紹了解決虛擬機掛起后再恢復后Docker部署的應(yīng)用無法連接問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
使用netstat -ntlp命令查看端口狀態(tài)
可以看到監(jiān)聽的是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 保存
說明:
net.ipv4.ip_forward
等于0
表示不開啟,為1
表示開啟。
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
驗證效果
此時訪問一下,我這邊發(fā)現(xiàn)可以訪問了,即使 虛擬機再次掛起,再恢復,也能訪問了
如果還不能訪問怎么辦?
重啟Docker里面的container
# 查看docker container ,發(fā)現(xiàn)兩個都是Exited 狀態(tà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
上面步驟做完了,不出意外基本就可以訪問了。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker 默認bridge網(wǎng)絡(luò)中配置DNS的方法
這篇文章主要介紹了Docker 默認bridge網(wǎng)絡(luò)中配置DNS的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03