解决虚拟机挂起后再恢复后Docker部署的应用无法连接问题

 更新时间:2024年04月01日 11:06:53   作者:张俊杰1994  
这篇文章主要介绍了解决虚拟机挂起后再恢复后Docker部署的应用无法连接问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用netstat -ntlp命令查看端口状态

可以看到监听的是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 文件添加内容: net.ipv4.ip_forward = 1 ,然后 esc !wq 保存

说明:

net.ipv4.ip_forward 等于0表示不开启,为1表示开启。

00-system.conf 文件内容:

# 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转发功能
net.ipv4.ip_forward = 1

重启网络服务

命令: systemctl restart network

# 重启服务
[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

验证效果

此时访问一下,我这边发现可以访问了,即使 虚拟机再次挂起,再恢复,也能访问了

如果还不能访问怎么办?

重启Docker里面的container

# 查看docker container ,发现两个都是Exited  状态,这不正常,下面开始重启
[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

上面步骤做完了,不出意外基本就可以访问了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 聊聊Docker不适合跑 MySQL 的N个原因

    聊聊Docker不适合跑 MySQL 的N个原因

    容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题,这篇文章主要介绍了Docker 为什么不适合跑 MySQL?有N个原因,需要的朋友可以参考下
    2022-12-12
  • 详解基于docker 如何部署surging分布式微服务引擎

    详解基于docker 如何部署surging分布式微服务引擎

    这篇文章主要介绍了详解基于docker 如何部署surging分布式微服务引擎,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 基于Docker快速搭建ELK的方法

    基于Docker快速搭建ELK的方法

    这篇文章主要介绍了基于Docker快速搭建ELK的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上,这篇文章主要介绍了Docker Compose 搭建简单的Python网络应用程序,需要的朋友可以参考下
    2022-07-07
  • mysql8.4.0实现主从复制部署

    mysql8.4.0实现主从复制部署

    主从复制是 MySQL 中一种用于实现数据冗余、提高可用性和性能的重要机制,本文主要介绍了mysql8.4.0实现主从复制部署,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Docker向数据卷Volume写入数据

    Docker向数据卷Volume写入数据

    这篇文章介绍了Docker向数据卷Volume写入数据的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Windows10 Docker Desktop安装过程

    Windows10 Docker Desktop安装过程

    Docker Desktop是Docker公司推出的一款桌面应用程序,它提供了一个用户友好的界面,方便开发人员在本地环境中使用容器技术,这篇文章主要介绍了Windows10 Docker Desktop安装过程,需要的朋友可以参考下
    2024-01-01
  • 聊聊docker跨主机之间容器通信问题

    聊聊docker跨主机之间容器通信问题

    这篇文章主要介绍了docker跨主机之间容器通信问题,创建网桥之后,使用ifconfig查看会多出一个网桥,该网桥在docker启动或者重启之后,会自动显示出来,具体实践跟随小编一起看看吧
    2022-05-05
  • 使用docker compose安装harbor私有仓库的详细教程

    使用docker compose安装harbor私有仓库的详细教程

    harbor镜像仓库是由VMware开源的一款企业级镜像仓库,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制等诸多功能,本文给大家介绍docker compose安装harbor的方法,需要的朋友参考下吧
    2021-06-06
  • 解决docker访问外部https数字证书问题

    解决docker访问外部https数字证书问题

    这篇文章主要介绍了docker访问外部https数字证书问题,为了解决证书验证的问题,我们需要在构建 docker 镜像的时候将 ca-certificates 根证书装上,需要的朋友可以参考下
    2022-09-09

最新评论