docker网段修改以及出现的问题

原因

很多时候因为docker的网段是现有宿主机的网段冲突,导致网络无法访问.此时修改docker的网段成本是最低的.

场景举例: 我们经常遇到容器内无法访问外部的172.17网段的设备以及服务器(就是因为冲突的问题

方案1

如果仅仅是宿主机访问出现问题,可以尝试增加一条路由,核心思路就是想访问此设备的路由指向新的路由.

sh 复制代码
$ route add -host 172.17.147.201/32 gw 10.51.195.1   #宿主机访问172.17.147.201的所有路由走网关10.51.195.1(宿主机所在网段的网关

方案2

步骤1 :查看docker的网络

sh 复制代码
$ ifconfig   #docker0网段是多少
$ docker  network ls
$ docker network list

步骤2:停掉docker

sh 复制代码
$ systemctl stop docker

步骤3: 修改配置

sh 复制代码
$ vi /etc/docker/daemon.json
 # 添加以下内容
{
"default-address-pools":[                                                             
        {"base":"172.21.0.0/16","size":24},                    
        {"base":"172.22.0.0/16","size":24},                     
        {"base":"172.23.0.0/16","size":24},                     
        {"base":"172.25.0.0/16","size":24},                     
        {"base":"172.26.0.0/16","size":24},                     
        {"base":"172.27.0.0/16","size":24},                     
        {"base":"172.29.0.0/16","size":24},                                      
        {"base":"172.30.0.0/16","size":24}                     
    ],                                                       
     "bip":"172.20.0.1/24"                                                                                
} 

步骤4:启动docker

sh 复制代码
$ systemctl daemon-reload
$ systemctl restart docker
$ sudo systemctl start docker.service   
相关推荐
王中阳Go背后的男人44 分钟前
Docker磁盘满了?这样清理高效又安全
后端·docker
王中阳Go1 小时前
Docker磁盘满了?这样清理高效又安全
docker
Asuncion0072 小时前
K8s控制器详解:从原理到实战
docker·容器·kubernetes
做运维的阿瑞2 小时前
DevOps 生命周期完全指南
运维·容器·devops
大大大大物~3 小时前
数据结构之HashMap(容器)
java·数据结构·容器
梁正雄4 小时前
扩展、Docker-compose-1
docker·容器·composer
知花实央l4 小时前
【数字逻辑】数字逻辑实验实战:74HC151实现逻辑函数+74HC138搭全加器(附接线步骤+避坑指南)
算法·容器·测试用例·逻辑回归
派阿喵搞电子4 小时前
在阿里云通过docker部署srs流媒体服务器(支持webrtc、http-flv)
阿里云·docker·webrtc
zwjapple4 小时前
阿里云安装docker-compose
阿里云·docker·云计算
zwjapple4 小时前
阿里云配置了加速器还是访问不了docker.io的解决方案。
阿里云·docker·云计算