Docker使用自定义网桥
Docker 服务默认会创建一个 docker0 网桥,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
用户也可以指定网桥来连接各个容器,步骤如下:
1. 首先安装bridge-utils工具包
$ sudo apt-get install bridge-utils
然后可以用 “brctl show” 来查看当前网桥信息,可以看到目前只有一个 docker0
$ brctl show bridge name bridge id STP enabled interfaces docker0 8000.56847afe9799 no
2. 然后创建一个网桥 br0
$ sudo brctl addbr br0 $ sudo ip addr add 192.168.66.1/24 dev br0 $ sudo ip link set dev br0 up
添加后可以用 “brctl show” 来查看
$ brctl show bridge name bridge id STP enabled interfaces br0 8000.000000000000 no docker0 8000.56847afe9799 no
3. 编辑 /etc/default/docker.io 文件,添加如下Docker参数,是Docker默认使用上面新添加的网桥
DOCKER_OPTS="-b=br0"
4. 重启docker服务
sudo service docker.io restart
5. 新建一个容器,可以看到它已经桥接到了 br0 上了。
6. 最后,如果要删除网桥,可以
$ sudo ip link set dev br0 down
$ sudo brctl addbr br0
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Docker如何使用OpenvSwitch网桥
Docker 默认使用的是 Linux 自带的网桥实现,实际上,OpenvSwitch 项目作为一个成熟的虚拟交换机实现,具备更丰富的功能.个人认为,将来 Docker 必然会支持 OpenvSwitch 作为其默认网桥实现.有兴趣的同学欢迎通过如下的步骤来尝鲜. 环境 在 Ubuntu 14.04 系统中进行测试.操作流程也适用于 RedHat/CentOS 系列系统,但少数命令和配置文件可能略有差异. 安装 Docker 安装最近版本的 Docker 并 启动服务. $ sudo apt-g
-
Docker如何添加自定义网桥
Docker服务进程在启动的时候会生成一个名为docker0的网桥,容器默认都会挂载到该网桥下,但是我们可以通过添加docker启动参数-b Birdge 或更改docker配置文件来选择使用哪个网桥. 操作系统:centos7 删除docker0网桥 service docker stop //关闭docker服务 ip link set dev docker0 down //关闭docker0网桥 ip link del dev docker0 //删除docker0网桥 自定义网桥设置(/
-
详解修改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测试环境,需要访问内部的服务, 由于网段是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使用自定义网桥
Docker 服务默认会创建一个 docker0 网桥,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. 用户也可以指定网桥来连接各个容器,步骤如下: 1. 首先安装bridge-utils工具包 $ sudo apt-get install bridge-utils 然后可以用 "brctl show" 来查看当前网桥信息,可以看到目前只有一个 docker0 $ brctl show bridge name bridge id STP enabl
-
Docker之自定义网络实现
目录 1.自定义网络实现容器互联 2.网络连通 1.自定义网络实现容器互联 四类网络模式,使用docker network ls查看docker网络模式 Docker网络模式 配置 说明 host模式 –net=host 容器和宿主机共享Network namespace. container模式 –net=container:NAME_or_ID 容器和另外一个容器共享Network namespace. kubernetes中的pod就是多个容器共享一个Network namespace.
-
浅谈Docker如何自定义host文件
目录 一.命令 二.docker-compose.yml 三.dockerfile 四.直接修改 五.修改镜像 总结 1.问:我们的真正开发的时候数据库都是部署在内网的,而我们程序连接数据库的时候,需要指定内网的地址.但是有时候我们需要迁移环境,那么我们的后端代码就得跟着进行修改,有没有一种好的办法,不让我们修改代码吗? 答:可以肯定的说是有的,那就是在代码中指定的不是IP地址,而是域名.我们只需要配置域名和IP地址建立映射关系,所有的项目都无需更改代码就可以达到目的. 2.问:正式环境一般都是
-
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 compose自定义网络实现固定容器ip地址
由于默认的bridge桥接网络,重启容器后会改变ip地址.在一些场景下我们希望固定容器IP地址. docker-compose是docker的一个编排工具,相对于命令模式创建网络,容器等.使用配置文件相对来说更方便,可追溯问题. 直接粘贴docker-compose.yml文件 version: '2' services: nginx: image: nginx:1.13.12 container_name: nginx restart: always tty: true networks: e
-
docker 容器自定义 hosts 网络访问操作
在 docker-compose.yml 中增加 extra_hosts 关键字就可以将数据写入到容器的 /etc/hosts. extra_hosts 添加主机名映射. extra_hosts: "somehost:162.242.195.82" "otherhost:50.31.209.229" 将会在/etc/hosts创建记录: 162.242.195.82 somehost 50.31.209.229 otherhost 注意: 如果指向的是本机,不要写容
-
Docker 容器指定自定义网段的固定IP/静态IP地址
Docker容器指定自定义网段的固定IP/静态IP地址 第一步:创建自定义网络 备注:这里选取了172.172.0.0网段,也可以指定其他任意空闲的网段 docker network create --subnet=172.172.0.0/16 docker-ice 注:docker-ice为自定义网桥的名字,可自己任意取名. 第二步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址 备注:这里在第二步中创建的网段中选取了172.172.0.10作为静态IP地址.这
-
一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历
背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ① 主机网络(docker run --network=host): 完全应用主机网络堆栈,在容器内localhost就是指向宿主机 ② 网桥网络(docker run --network=bridge): 这也是docker容器默认的网络通信模式,容器内localhost 指向的是容器自身,不能使用 localhost 访问宿主机上localhost:6379承载的Redis服
随机推荐
- 读取注册表根据Office版本获取数据库连接字段
- 前台JS(jquery ajax)调用后台方法实现无刷新级联菜单示例
- AngularJS中指令的四种基本形式实例分析
- .NET实现定时发送邮件代码(两种方式)
- 浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
- 简单的js分页脚本
- ASP.NET MVC4 利用uploadify.js多文件上传
- 动态加载用户控件至DataList并为用户控件赋值实例演示
- PHP zip扩展Linux下安装过程分享
- Python中使用Queue和Condition进行线程同步的方法
- 实例解析jQuery工具函数
- javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
- Java任务调度的常见实现方法与比较详解
- 完美利用Yii2微信后台开发的系列总结
- 判断滚动条滑到底部触发事件(实例讲解)
- Spring Boot 使用WebAsyncTask异步返回结果
- Java实现终止线程池中正在运行的定时任务
- Python实现微信机器人的方法
- 基于Redis实现每日登录失败次数限制
- CentOS7搭设FTP服务器的方法步骤