多个docker容器如何共享网络
多个docker容器如何共享网络
一、创建共享网络
无论哪种方式,第一步都是创建一个共享网络,这里创建一个名为 local_public 的网络,可以自定义,执行后会输出一个网络的ID,代表创建成功,也可通过 docker network ls 来查看网络列表.
# 创建公共网络
docker network create local_public
二、docker-compose 启动容器共享网络
目录结构如下
$ tree docker-test
docker-test
├── nginx1
│ └── 1.yml
└── nginx2
└── 2.yml
1.yml 文件如下
version: "3"
services:
nginx:
image:
nginx:alpine
container_name: nginx1
networks:
- local_public #着重看这里
networks:
local_public:
external: true #着重看这里 不加网桥名不前缀,必需提前手动创建这个网络 默认是false,会加前缀,自动创建
手动创建这个网络
docker network create local_pullic
docker network ls
2.yml 文件如下
version: "3"
services:
nginx:
image:
nginx:alpine
container_name: nginx2
networks:
- local_public
networks:
local_public:
external: true
分别启动两个容器
docker-compose -f nginx1/1.yml up -d
docker-compose -f nginx2/2.yml up -d
进入nginx1容器,尝试 ping 两个容器
docker exec -it nginx1 sh
/ # ping nginx1 -c 4
PING nginx1 (172.20.0.2): 56 data bytes
64 bytes from 172.20.0.2: seq=0 ttl=64 time=0.238 ms
64 bytes from 172.20.0.2: seq=1 ttl=64 time=0.196 ms
64 bytes from 172.20.0.2: seq=2 ttl=64 time=0.208 ms
64 bytes from 172.20.0.2: seq=3 ttl=64 time=0.268 ms
--- nginx1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.196/0.227/0.268 ms
/ # ping nginx2 -c 4
PING nginx2 (172.20.0.3): 56 data bytes
64 bytes from 172.20.0.3: seq=0 ttl=64 time=0.394 ms
64 bytes from 172.20.0.3: seq=1 ttl=64 time=0.358 ms
64 bytes from 172.20.0.3: seq=2 ttl=64 time=0.365 ms
64 bytes from 172.20.0.3: seq=3 ttl=64 time=0.348 ms
--- nginx2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.348/0.366/0.394 ms
可以 ping 通 nginx1 和 nginx2 两个容器的IP不同,进入nginx2也可以得到同样的结果
参考文档:
http://www.ibloger.net/article/3525.html
多个docker容器如何共享网络的更多相关文章
- docker容器跨主机网络overlay
前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1 主机名mcw510.0.0.134 host2 主机名mcw6host1与 ...
- Docker学习笔记 - Docker容器与外部网络的连接
学习目的: ip_forward 包过滤防护墙 iptables 允许端口映射访问 限制ip访问容器 1.ip_forward 控制系统是否会转发流量 检查linux系统转发是否开启命令:sysctl ...
- calico实现docker容器内部的网络链接
calico官网 https://www.projectcalico.org// calico介绍 http://www.sdnlab.com/17161.html calico网络 环境 系统 ...
- Ubuntu上挂载源代码,docker容器中共享这个原代码,实现自动部署
https://www.jianshu.com/p/23465dc86d3e 地址 5.3. 挂载源代码 为了在宿主机上创建.NET Core 项目,这个时候我们就需要在Linux宿主机上安装.N ...
- Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...
- Docker基本命令与使用 —— Docker容器的网络连接(四)
一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...
- docker之容器访问和网络连接(三)
前言 当一台服务器上部署了多个应用容器,它们直接可能需要相互通信,比如web应用容器需要访问mysql数据库容器. 主机访问容器 通过映射端口的形式我们可以在外部访问容器内的服务 # 将主机的127. ...
- Docker 容器的网络连接 & 容器互联
1. Docker 容器网络基础架构 Docker0 ifconfig查看到的 docker0 是linux的虚拟网桥(OSI数据链路层) docker0 地址划分: 172.17.42.1 255. ...
- Docker学习(13) Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络基础 先安装网桥管理工具 Docker容器的互联 默认 Docker容器与外部网络的连接
- Docker的4种网络模式
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=host指定. · container ...
随机推荐
- 性能对比 Go、Python、Perl、Ruby、Rust、C/C++、PHP、Node.js、Java.. 等多编
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或 其它版本 Python 的话,性能更快.但 pypy 还不完善,pypy ...
- ET介绍——为什么使用C# .net core做服务端?
为什么使用C# .net core做服务端? 游戏服务端从早期的单服到分布式,开发越来越复杂,对稳定性,开发效率要求越来越高.开发语言的选择也逐步发生了变化,C 到 C++ 到 C++ + PYTHO ...
- Hall定理小记
前言 Hall定理:一张二分图有完美匹配(即最大匹配为 \(\min\{|X|,|Y|\}\) ) 当且仅当任意一个点集 \(X'\) 与所有能直接到达 \(X'\) 的点集 \(Y'\), 也就是 ...
- 文档贡献与写作必读-OpenHarmony开发者文档风格指南
在您使用OpenHarmony文档或参与OpenHarmony文档/生态内容贡献时,是否遇到过如下问题: ● 应该使用第一人称还是第二人称来写作? ● Markdown文件应该如何命名? ● 代码块及 ...
- C# 通过ARP技术来观察目标主机数据包
由于之前写的C# 实现Arp欺诈的文章属于网络攻击,不能够被展示,所以这边我们稍微说一下C#调用ARP包以及查看其他电脑上网数据包的技术,委婉的说一下ARP在局域网之中的应用. 本文章纯属技术讨论,并 ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit
1.问题描述 根据https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-data-model-0000001736 ...
- Django集成layui 的 layedit 之图片上传接口
# a.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- MogDB/openGauss学习笔记-获取对象DDL
MogDB/openGauss 学习笔记-获取对象 DDL 本文出处:https://www.modb.pro/db/399230 内置函数 omm2=# \df *def List of funct ...
- js es6系列——map函数
正文 map,必要解释就是map不是地图的意思,而是映射的意思. 这里就简单的介绍了这个map了. array.map(callback,[ thisObject]); 看下这个案例后,我们发现了就发 ...
- Vue3实现图片滚轮缩放和拖拽
在项目开发中遇到一个需求: 1:用鼠标滚轮可对图片进行缩放处理 2:点击按钮可对图片进行缩放处理 3:可对图片进行拖拽处理 我在开发中通过自己实现与百度查看优秀的铁子进行了两种类型的使用 <te ...