解决虚拟机挂起后再恢复后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中搭建配置Git环境的过程

    Docker中搭建配置Git环境的过程

    工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境,但是很多朋友不是很清楚Docker配置Git环境的过程,今天通过本文给大家详细介绍下,需要的朋友参考下吧
    2021-08-08
  • Docker实现Mariadb分库分表及读写分离功能

    Docker实现Mariadb分库分表及读写分离功能

    这篇文章主要给大家介绍了关于Docker实现Mariadb分库分表及读写分离功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程

    2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程

    这篇文章主要介绍了2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Docker的MySQL容器时区问题修改

    Docker的MySQL容器时区问题修改

    这篇文章主要给大家介绍了关于Docker的MySQL容器时区问题修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • Docker容器添加新端口映射的方法与详细步骤

    Docker容器添加新端口映射的方法与详细步骤

    这篇文章主要给大家介绍了关于Docker容器添加新端口映射的方法与详细步骤,Docker 端口映射即映射容器内应用的服务端口到本机宿主机器,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • docker cmd 执行多个带参数命令

    docker cmd 执行多个带参数命令

    Docker提供了CMD指令来指定容器启动后要执行的命令,本文主要介绍了docker cmd 执行多个带参数命令,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • docker已启动容器修改添加端口映射的两种方法

    docker已启动容器修改添加端口映射的两种方法

    最近工作中遇到一个问题,docker容器启动后怎么修改端口映射?通过查找相关资料解决了,这篇文章主要给大家介绍了关于docker已启动容器修改添加端口映射的两种方法,需要的朋友可以参考下
    2022-08-08
  • Docker Windows最新版(4.17.x)修改镜像存储路径的详细步骤

    Docker Windows最新版(4.17.x)修改镜像存储路径的详细步骤

    这篇文章主要介绍了Docker WIndows最新版(4.17.x)修改镜像存储路径的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 基于docker搭建selenium分布式环境

    基于docker搭建selenium分布式环境

    这篇文章主要介绍了基于docker搭建selenium分布式环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • docker for windows 容器内网通过独立IP直接访问的方法

    docker for windows 容器内网通过独立IP直接访问的方法

    这篇文章主要介绍了docker for windows 容器内网通过独立IP直接访问的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论