Docker默认网段的正确修改步骤

 更新时间:2019年03月12日 11:06:43   作者:Captain_Li  
这篇文章主要给大家介绍了关于Docker默认网段修改的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

背景

一同事在研究他的安全大业,需要在AWS服务器上部署他的秘密武器,秘密武器通过Docker来部署;在部署前可以通过跳板机的内外网ssh登录上这台服务器;部署后只能通过外网ssh登录这台服务器.......;症状就是这么个症状,怎么下药就得看医术了.....

排查心里路程

1、部署秘密武器之前,可以内外网;部署后,只能外网,看这么个症状就是网络防火墙问题,于是乎~~~

     1)iptables -F

     2)setenforce 0 

    3)在AWS上把此服务器的安全组入站0.0.0.0(这纯粹是为了测试,正式环境千万别~~~)

2、这ssh不通难道是ssh的配置文件修改了,因为改了端口,难道ssh的配置文件里有控制内外网是否可以登录的配置?于是乎~~~

      vim /etc/ssh/sshd_config   一顿瞎改(这里就体现了对ssh的认识不足,对配置文件不熟悉,得学习)

3、这什么玩意儿,网络是可以的,安全组没问题,不知为什么脑袋里面想到了路由,route -n 先看看,哇~~噢,这么多条路由,看到这些路由的时候,其中有一条172.29.0.0(我们跳板机的网段跟这个很像),就隐隐约约觉得这里有问题(女人的直觉不只在判断男朋友是否在外面有狗,还爱不爱上;在这里直觉也还是挺准,哈哈);于是乎~~~

 route -n
 route del -net 172.22.32.0 netmask 255.255.255.0
 route del -net 172.23.32.0 netmask 255.255.255.0
 ......

     只要是与容器有关的路由全部干掉,然后再从跳板机去内网ssh登录,哇~~~哇~~~可以了耶,好激动好激动噢~~~~

4、确定了,就是那一条路由的问题,这个容器分配的网段与跳板机的网段冲突了,于是乎~~~~

 route add -net 172.22.32.0 netmask 255.255.255.0
 ......

     把刚刚删了的路由除了那一条冲突的,又傻不拉几的加上,接下来就是解决这个问题的时候了

当时的解决办法

想了想,既然冲突了,那我肯定就是把这个容器的网段给改了,怎么改呢,用了一个及其愚蠢的办法,我把这个容器停掉删除,重新用docker-compose重启启动了一个,就重新分配了一个新的网段,就不冲突了。

根本解决办法

在启动容器之前就把整个docker的网络改为与我们自己的网段不冲突的,这样docker永远只分配我们给他设置的

操作步骤:修改docker.json,使得整个docker的网络网段都改掉,原来是172网段,现在我要改为192

1)vim /etc/docker/daemon.json(这里没有这个文件的话,自行创建)

{
 "bip":"192.168.0.1/24"
}

2)重启docker 

systemctl restart docker

3)在重新看网段

注:在使用docker容器最初规划的时候就要想到这一点,要规划好使用什么样的网段;上面的这种办法得重启docker,重启容器的;

疑问

还没有其他更好的办法呢,在不停止容器不删除容器的前提下,修改网段?(待我研究好了,再来补充)

总结

1:对ssh的配置文件不熟悉(这个得找个时间系统的过一遍)

2:对网络这块熟悉,尤其是路由这些,说实在的,到现在还是说不出路由的具体作用,只可意会的那种,只知道没他不行(等这段时间把PMP考完了,开始看思科那几本书,不说考证,先把那几本书好好看看,加强网络)

3:对Docker网络模式不熟悉(接下来这段时间好好看Dokcer网络部分的官方文档)

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Docker搭建MySQL5.7主从复制的实现

    Docker搭建MySQL5.7主从复制的实现

    本文主要介绍了Docker搭建MySQL5.7主从复制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • docker中的jenkins配置sonarQube的过程

    docker中的jenkins配置sonarQube的过程

    SonarQube是一个开源的代码分析平台,用来持续分析和评测项目源代码的质量,通过SonarQube可以检测出项目中重复代码,潜在bug, 代码规范,安全性漏洞等问题,并通过SonarQube web UI展示出来,这篇文章主要介绍了docker中的jenkins配置sonarQube,需要的朋友可以参考下
    2023-08-08
  • docker部署Zlm服务的实现

    docker部署Zlm服务的实现

    本文主要介绍了docker部署Zlm服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • 解决docker run后容器出现Exited (0)情况的问题

    解决docker run后容器出现Exited (0)情况的问题

    这篇文章主要介绍了解决docker run后容器出现Exited (0)情况的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 详解使用Docker部署MySQL(数据持久化)

    详解使用Docker部署MySQL(数据持久化)

    这篇文章主要介绍了详解使用Docker部署MySQL(数据持久化),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置

    详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置

    本篇文章主要介绍了详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker部署SonarQube的详细流程

    Docker部署SonarQube的详细流程

    SonarQube是一款开源代码检测工具,运作流程是这样的,先通过 sonar-scanner 插件扫描代码,把数据存储到数据库,sonarQube 读取数据库,将数据库展现在 web 平台,本篇介绍通过 docker 来安装,感兴趣的朋友一起看看吧
    2022-02-02
  • docker部署可执行jar包的思路与完整步骤

    docker部署可执行jar包的思路与完整步骤

    对于springboot项目运行,直接是java -jar的方式运行,如果想要放到docker中运行,可以参考本文,下面这篇文章主要给大家介绍了关于docker部署可执行jar包的思路与完整步骤,需要的朋友可以参考下
    2022-07-07
  • docker使用http_proxy配置代理解决方法

    docker使用http_proxy配置代理解决方法

    这篇文章主要给大家介绍了关于docker使用http_proxy配置代理解决方法的相关资料,Docker HTTP(S) Proxy是一种在Docker容器内部设置 HTTP(S) 代理的方法,以便于容器内的应用程序可以方便地通过代理访问互联网,需要的朋友可以参考下
    2024-05-05
  • docker容器增加端口映射全过程(修改配置文件方式)

    docker容器增加端口映射全过程(修改配置文件方式)

    文章详细描述了如何通过修改Docker容器的配置文件来增加端口映射,以解决已经运行的容器需要增加端口映射的问题,以MySQL容器为例进行了具体操作步骤的说明
    2024-11-11

最新评论