docker里镜像用ipv6无法访问_虚拟服务器端口设置

docker里镜像用ipv6无法访问_虚拟服务器端口设置前言我有一个朋友,他在Dev和Test服务器用Docker搭建了Redis供项目使用,然后今天Test环境的Redis端口访问不通了,在服务上可以正常连接,真是离了个大齐,让我们试试排查排查问题;正文端口检测lsof已确认在本地用telnetip6381访问不通,那就上服务上看看端口情况DevTestDev环境同时映射到Ipv6和Ipv4端口,Test环境仅映射到Ipv6,那基本上就可以断定是环境问题了容器状态dockerps既然端口映射

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

我有一个朋友, 他在Dev 和 Test 服务器用Docker 搭建了Redis 供项目使用, 然后今天Test 环境的Redis 端口访问不通了, 在服务上可以正常连接, 真是离了个大齐, 让我们试试排查排查问题;

在这里插入图片描述

正文

端口检测 lsof

已确认在本地用 telnet ip 6381 访问不通, 那就上服务上看看端口情况

Dev
在这里插入图片描述
Test
在这里插入图片描述
Dev环境同时映射到Ipv6和Ipv4端口, Test环境仅映射到Ipv6, 那基本上就可以断定是环境问题了

容器状态 docker ps

既然端口映射有问题, 就先看下容器的状态
Dev
在这里插入图片描述

Test
在这里插入图片描述
可以看到Dev同时映射了Ipv6和Ipv4, Test只映射了Ipv4, 这就能解释上面的情况了, 他说他搭建命令是一样的, emmm那就是环境问题, 看看Docker版本

Docker版本 docker -v

果然Test 版本是 Docker version 1.13.1, Dev 版本是Docker version 20.10.8, 这就能讲通为何同样的搭建命令但映射的不同;

但这又产生了一个新问题, 之前是这样是可以访问的, Ipv6 是可以兼容访问Ipv4的, Ipv4不能访问ipv6; 会不会是Ipv4的转发出了问题!

数据包转发 net.ipv4.ip_forward

当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能;

执行 /sbin/sysctl net.ipv4.ip_forward 查看:

net.ipv4.ip_forward = 0

果然没开, 那就把这个转发打开

临时修改 net.ipv4.ip_forward

可以用 sysctl -w net.ipv4.ip_forward=1
或者 echo 1 > /proc/sys/net/ipv4/ip_forward

重启Redis 容器 docker restart redis, 可以访问通了!
那就把这个配置永久生效

永久修改 net.ipv4.ip_forward

vim 修改文件/etc/sysctl.conf:

net.ipv4.ip_forward = 1

保存后调用 sysctl -p 生效, ok问题解决;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183735.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月31日 下午5:46
下一篇 2022年8月31日 下午5:46


相关推荐

  • docker 2375

    docker 2375cd/usr/lib/systemd/system/vimdocker.service#在原本的ExecStart中添加tcp://0.0.0.0:2375[Service]Type=notify#thedefaultisnottousesystemdforcgroupsbecausethedelegateissuesstil…

    2022年6月11日
    32
  • docker 镜像构建_dockerfile指定镜像名称

    docker 镜像构建_dockerfile指定镜像名称前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月31日
    58
  • Docker镜像相关命令

    Docker镜像相关命令1、查看docker版本 docker version 2、列出本地主机上的镜像: docker images REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小3、查询镜像 docker search 镜像名称…

    2022年6月13日
    31
  • Docker删除容器与镜像

    Docker删除容器与镜像1 停止所有的 container 这样才能够删除其中的 images dockerstop dockerps a q 如果想要删除所有 container 的话再加一个指令 dockerrm dockerps a q 2 查看当前有些什么 imagesdocker 删除 images 通过 image 的 id 来指定删除谁 dockerrmi amp amp

    2026年3月20日
    1
  • docker服务启动,重启,关闭命令

    docker服务启动,重启,关闭命令最近刚学习dockerdocker启动命令,docker重启命令,docker关闭命令启动systemctlstartdocker守护进程重启sudosystemctldaemon-reload重启docker服务systemctlrestartdocker重启docker服务sudoservicedockerrestart关闭docker…

    2022年5月17日
    69
  • 卸载Docker方法

    卸载Docker方法卸载步骤在安装 Autoware 库的时候安装了 Docker 发现电脑硬盘容量被占用不少 现在想卸载一下 docker 查找了很多资料 最终使用以下方法完整卸载 1 在配置 autoware 的时候其实安装的 docker ce 所以需要执行 sudoapt getpurgedock ce 此时可以执行 dockerversio 查看 docker 是否被卸载 2 卸载安装依赖 sudo

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号