现在在我们的docker中已经有了三个容器,分别是DB/API/UI三个容器,三个容器间肯定是要进行互相通信的

可以查看docker的官方文档,https://docs.docker.com/engine/userguide/networking/#the-default-bridge-network

当您安装Docker时,它会自动创建三个网络。您可以使用以下docker network ls命令列出这些网络:

docker@default:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
78763a12b144 bridge bridge local
7da828c0e77b host host local
af3045e58ef6 none null local

Docker内置这三个网络。运行容器时,您可以使用该--network标志来指定容器应连接到哪些网络。

通过命令创建了两个容器

docker run -d --name mongo-docker-dev --restart=always -p :  -v /home/docker/mongo/dev/data/configdb:/data/configdb  -v/home/docker/mongo/dev/data/db:/data/db mongo

docker run -d --name person-blog-dev-backend --restart=always -p : person-blog-dev-backend

当创建了两个容器后,通过命令可以查看到所以容器的网络配置信息

docker@default:~$ docker network inspect bridge
[
{
"Name": "bridge",
"Id": "78763a12b144233dea7b7695490567dcace526019b8268f11df019aab7c9340a",
"Created": "2017-04-27T02:06:16.288209903Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {
"b93993405c432c276d43220abebc8e3529a49dc42afa4a7ee5afdb139774b973": {
"Name": "person-blog-dev-backend",
"EndpointID": "20ce486bbd7756260948160ea93cf69f5a9a8dd9809acf89a35cc20d07b9377c",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"f107144cf3cb412f69dc36dd11601b592b220601a6dce549be8e2ea781b53522": {
"Name": "mongo-docker-dev",
"EndpointID": "6b852692948c3c8d83979c33afe3e4c97055f07e74660e20cad612e86984d0c2",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": ""
},
"Labels": {}
}
]
docker@default:~$

可以看到,两个容器都在同一个网段中,应该也是可以互相通信的,使用命令,这里是使用backend去ping mongodb容器

docker@default:~$ docker exec -it person-blog-dev-backend bash
root@b93993405c43:/user/src/app# ping -w3 172.17.0.2
PING 172.17.0.2 (172.17.0.2): data bytes
bytes from 172.17.0.2: icmp_seq= ttl= time=0.080 ms
bytes from 172.17.0.2: icmp_seq= ttl= time=0.091 ms
bytes from 172.17.0.2: icmp_seq= ttl= time=0.146 ms
--- 172.17.0.2 ping statistics ---
packets transmitted, packets received, % packet loss
round-trip min/avg/max/stddev = 0.080/0.106/0.146/0.029 ms
root@b93993405c43:/user/src/app#

docker容器间通信的更多相关文章

  1. 容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)

    容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信. IP 通信 从上一节的例子可以得出这样一个结论:两个容器要能通信,必须要有属于同一个网络的网卡. 满足这 ...

  2. WSL docker打通容器间通信和追加端口映射

    最近在docker中搭建一个服务,需要有多个容器通信.这里简单记录一下如何在容器间进行通信,同时说一下已经存在的容器如何追加端口映射. 增加网桥 容器间通信的目的是不适用IP而是使用容器名称进行网络通 ...

  3. Docker 与 K8S学习笔记(九)—— 容器间通信

    容器之间可通过IP.Docker DNS Server或joined三种方式进行通信,今天我们来详细学习一下. 一.IP通信 IP通信很简单,前一篇中已经有所涉及了,只要容器使用相同网络,那么就可以使 ...

  4. 如何使不同主机上的docker容器互相通信

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  5. 不同主机的docker容器互相通信

    Docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.0.1/16,一个16位的子网掩码给容器提供了 65534个IP地址. docker0只是一个在绑定到 ...

  6. Docker 容器的通信(十二)

    目录 一.容器间通信 1.IP 通信 2.Docker DNS Server 3.joined 容器 二.容器访问外部网络 三.外部网络访问容器 1.随机端口 2.指定端口 3.不指定任何端口. 4. ...

  7. Docker 容器间的单向连接

    Docker 容器间的单向连接 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerfile 自动制作 Docker 镜像( ...

  8. Docker容器间网络互联原理,讲不明白算我输....

    @ 目录 一.今天我们要搞明白的实验 二.前置网络知识 2.1.docker默认为我们创建的网络 2.2.怎么理解docker0网桥 2.3.什么是veth-pair技术? 三.同一个局域网中不同主机 ...

  9. docker 容器间网络配置

    创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头. 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器 ...

随机推荐

  1. node和gulp实现前端工程自动化(附:gulp常用插件)

    /** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...

  2. BZOJ4537 HNOI2016最小公倍数(莫队+并查集)

    考虑边只有一种权值的简化情况.那么当且仅当两点可以通过边权<=x的边连通,且连通块内最大边权为x时,两点间存在路径max为x的路径.可以发现两种权值是类似的,当且仅当两点可以通过边权1<= ...

  3. P2124 奶牛美容

    题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 6 16 ................ ..XXXX....XXX... ...XXXX....XX... .XXXX ...

  4. poj 1201 TYVJ 1415 Intervals

    Description: 给定n个闭区间[ai,bi] 和n个整数ci,你需要构造一个集合Z,使得对于任何的i∈[1,n],Z中满足x∈[ai,bi]的x不少于ci个 求这样的整数集合Z至少包含多少个 ...

  5. 【TMD模拟赛】黄金拼图 Cao

    正解:Cao 据说这样的题是用来骗丛林生物上树的...... 这样的题除了考观察力之外还.........我们发现他异或了opt,恩,就这样,用离线推答案..... #include <cstd ...

  6. 【BZOJ 3551】[ONTAK2010] Peaks加强版 Kruskal重构树+树上倍增+主席树

    这题真刺激...... I.关于Kruskal重构树,我只能开门了,不过补充一下那玩意还是一棵满二叉树.(看一下内容之前请先进门坐一坐) II.原来只是用树上倍增求Lca,但其实树上倍增是一种方法,L ...

  7. HDU 1059 完全背包

    Dividing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  8. Python之json编码

    一.json JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法 1.json轻量级:语法规则 JSON 语法是 ...

  9. C# new override

    A -> virtual Fun B : A -> override Fun C : B -> override Fun D : C -> new virtual Fun E ...

  10. border-image

    一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅 Firefox3.5,chro ...