docker自定义网桥docker0及docker的开启,关闭,重启命令操作
问题
公司将服务器迁移后,docker默认创建的doker0网桥与公司的外网网关产生冲突,
导致外网无法连接服务器。
解决方式
修改默认的配置文件 /etc/docker/daemon.json对Docker进行配置。
如果没有直接创建
1、关闭 docker服务
systemctl stop docker
2、修改bip
{ "bip": "192.168.0.1/24", # 修改此处 .... }
3、重启docker
systemctl restart docker
docker 关闭、重启、启动命令
sudo service docker stop # 关闭 或 sudo systemctl stop docker sudo service docker restart # 重启 或 sudo systemctl restart docker sudo service docker start # 启动 sudo systemctl start docker # 启动
补充:修改docker0默认ip
Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。
可以用编辑/etc/docker/daemon.json文件,添加内容 "bip": "ip/netmask" [ 切勿与宿主机同网段 ]
[root@localhost /]# vi /etc/docker/daemon.json {"bip":"192.168.100.1/24"}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
docker添加网桥并设置ip地址范围操作
不知道是因为二进制docker 19.03版本安装后不自动创建docker0网桥,还是其他什么原因,docker的网络模式里面的bridge网桥没有. 害的我装个容器映射端口一直看不到端口,也不报错,定位半天才发现没有这个bridge网桥. 废话不多说.开干! 先看一下当前情况: 由于是生产环境,所以先要把pod给驱逐一下,以免影响业务 首先说下,直接使用docker network create xx的方式是不行的.因为这种方式创建的网桥并没有挂到虚拟机上,所以不工作,可能需要一些其他的额外配
-
Docker Compose 网络设置详解
基本概念 默认情况下,Compose会为我们的应用创建一个网络,服务的每个容器都会加入该网络中.这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为hostname被其他容器访问. 默认情况下,应用程序的网络名称基于Compose的工程名称,而项目名称基于docker-compose.yml所在目录的名称.如需修改工程名称,可使用--project-name标识或COMPOSE_PORJECT_NAME环境变量. 举个例子,假如一个应用程序在名为myapp的目录中,并且do
-
浅谈docker-compose网络设置之networks
networks使用方式之官网教程 官网的docker-compose.yml参考文档:Compose file version 3 reference 较为准确的中文翻译版:Compose file version 3 reference networks通常应用于集群服务,从而使得不同的应用程序得以在相同的网络中运行,从而解决网络隔离问题.这种应用在swarm部署中,非常常见.不过,本文并不做讨论. 一般对于集群服务,常常通过docker-compose.yml文档快速编排.部署应用服务.官
-
一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历
背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ① 主机网络(docker run --network=host): 完全应用主机网络堆栈,在容器内localhost就是指向宿主机 ② 网桥网络(docker run --network=bridge): 这也是docker容器默认的网络通信模式,容器内localhost 指向的是容器自身,不能使用 localhost 访问宿主机上localhost:6379承载的Redis服
-
docker-compose创建网桥,添加子网,删除网卡的实现
1.创建docker网卡 [root@i ~]# brctl addbr docker0 [root@i ~]# ip addr add 192.168.42.1/24 dev docker0 # 这里的ip是给docker内部用的, 随意配置一个即可 [root@i ~]# ip link set dev docker0 up [root@i ~]# ip addr show docker0 # 查看docker [root@i ~]# systemctl restart docker [ro
-
docker自定义网桥docker0及docker的开启,关闭,重启命令操作
问题 公司将服务器迁移后,docker默认创建的doker0网桥与公司的外网网关产生冲突, 导致外网无法连接服务器. 解决方式 修改默认的配置文件 /etc/docker/daemon.json对Docker进行配置. 如果没有直接创建 1.关闭 docker服务 systemctl stop docker 2.修改bip { "bip": "192.168.0.1/24", # 修改此处 .... } 3.重启docker systemctl restart do
-
docker 在容器外执行某个容器内的某个命令操作
有时候我们想执行某个容器的某条命令,但又不想进入容器内.那该怎么办? 于是脚本可以这样写 #!/bin/bash DOCKER_ID=62f3f40ab240 sudo docker exec -it $DOCKER_ID /bin/bash -c 'cd /packages/detectron && python tools/train.py' done 补充知识:解决docker容器与宿主机无缝调用shell命令问题 我就废话不多说了,大家看解决方法吧~ nsenter -t 1 -m
-
详解如何修改 Docker 默认网桥地址
在公司里搭建docker测试环境,需要访问内部的服务, 由于网段是172.17.导致该容器没有办法正常访问公司内部服务.翻了一下官方的帮助文档,找到了修改默认网桥地址的办法. 首先停止正在使用的 Docker 服务: $ sudo service docker stop 接着删除 Docker 默认网桥 docker0 : $ sudo ip link set dev docker0 down $ sudo brctl delbr docker0 $ sudo iptables -t nat -
-
Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题
默认情况下,/etc/default/docker配置了不会生效的,我们需要手动添加到docker的环境设定中,需要配置的文件是/usr/lib/systemd/system/docker.service,需要添加EnvironmentFile=-/etc/default/docker,让后在ExecStart这个配置中,添加引用的参数$DOCKER_OPTS.置网桥的时候,我们在/etc/default/docker里添加了DOCKER_OPTS参数,但是DOCKER_OPTS参数不生效问题,
-
linux查看防火墙状态与开启关闭命令详解
linux查看防火墙状态与开启关闭命令有以下两种方式: 一.service方式 查看防火墙状态: [root@centos6 ~]# service iptables status iptables:未运行防火墙. 开启防火墙: [root@centos6 ~]# service iptables start 关闭防火墙: [root@centos6 ~]# service iptables stop 二.iptables方式 先进入init.d目录,命令如下: [root@centos6 ~]
-
详解修改docker启动默认网桥docker0为自定义网桥
自定义网桥 除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器. 在启动 Docker 服务的时候,使用 -b BRIDGE或--bridge=BRIDGE 来指定使用的网桥. 如果服务已经运行,那需要先停止服务,并删除旧的网桥. $ sudo service docker stop $ sudo ip link set dev docker0 down $ sudo brctl delbr docker0 然后创建一个网桥 bridge0. $ sudo brctl addbr
-
Docker自定义网络详细介绍
目录 Docker自定义网络 一.自定义网络介绍 二.创建自定义网络 Docker自定义网络 一.自定义网络介绍 1.介绍 常规docker容器启动,可以用–link,进行容器网络绑定,但是一旦容器多了之后就会非常麻烦,所以要自定义一个docker网络,小白推荐使用–link命令 自定义网络修复了docker0的容器之间无法用容器名相互ping通的问题,只能使用ip才能ping通,但是我们自定义的网络是可以用ip或者容器名相互ping通的 2.命令 自定义网络命令 说明 docker netwo
-
Docker 自定义Dev环境并部署php
docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需要的是centos中集成的lnmp,要求php >= 7.2,并开启以下扩展. extension = yaf.so extension = swoole.so extension = mongodb.so extension = redis.so extension = trie_filter.so extensi
-
docker安装redis挂载容器卷同时开启持久化
目录 一.安装 1.搜索redis容器镜像并拉取容器镜像 2.在宿主机本地创建redis存储配置文件和数据的目录,我这里创建/docker/redis下 3.配置文件 4.启动容器 二.进入容器,指定配置文件启动redis服务 1.启动redis服务 2.指定6380端口登陆客户端 三.删除容器后重新启动容器 1.删除,然后查看宿主机目录下是否有持久化文件,查看这一步可以放在上一步后 2.重启容器 说明:centOS操作系统,操作系统已安装过redis,端口6379已被占用.容器将会使用6380
-
Docker与iptables及实现bridge方式网络隔离与通信操作
Docker提供了bridge, host, overlay等多种网络.同一个Docker宿主机上同时存在多个不同类型的网络,位于不同网络中的容器,彼此之间是无法通信的. Docker容器的跨网络隔离与通信,是借助了iptables的机制. iptables的filter表中默认分为INPUT, FORWARD和OUTPUT共3个链. Docker在FORWARD链中(forward到自定义的链),还额外提供了自己的链,以实现bridge网络之间的隔离与通信. Docker的基本网络配置 当 D
随机推荐
- 教你三招让电脑“自废武功”的不错设置方法
- iOS中searchBar(搜索框)光标初始位置后移
- Javascript封装DOMContentLoaded事件实例
- js+css3制作时钟特效
- PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
- 用文本文件制作留言板提示(上)
- PHP仿博客园 个人博客(2) 数据库增添改删
- javascript截取字符串(通过substring实现并支持中英文混合)
- linux bash脚本监控启动停止weblogic服务的脚本写法
- jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
- jQuery实现可展开折叠的导航效果示例
- Javascript Tab 导航插件 (23个)
- Apache 配置伪静态详细步骤
- JS继承与闭包及JS实现继承的三种方式
- VRRP简介
- Python实现查看系统启动项功能示例
- MySQL实现导出excel的方法分析
- Django的models中on_delete参数详解
- ES6基础之 Promise 对象用法实例详解
- 如何动态改变Retrofit的base url和rest版本详解