docker容器间通信
现在在我们的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容器间通信的更多相关文章
- 容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)
容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信. IP 通信 从上一节的例子可以得出这样一个结论:两个容器要能通信,必须要有属于同一个网络的网卡. 满足这 ...
- WSL docker打通容器间通信和追加端口映射
最近在docker中搭建一个服务,需要有多个容器通信.这里简单记录一下如何在容器间进行通信,同时说一下已经存在的容器如何追加端口映射. 增加网桥 容器间通信的目的是不适用IP而是使用容器名称进行网络通 ...
- Docker 与 K8S学习笔记(九)—— 容器间通信
容器之间可通过IP.Docker DNS Server或joined三种方式进行通信,今天我们来详细学习一下. 一.IP通信 IP通信很简单,前一篇中已经有所涉及了,只要容器使用相同网络,那么就可以使 ...
- 如何使不同主机上的docker容器互相通信
docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...
- 不同主机的docker容器互相通信
Docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.0.1/16,一个16位的子网掩码给容器提供了 65534个IP地址. docker0只是一个在绑定到 ...
- Docker 容器的通信(十二)
目录 一.容器间通信 1.IP 通信 2.Docker DNS Server 3.joined 容器 二.容器访问外部网络 三.外部网络访问容器 1.随机端口 2.指定端口 3.不指定任何端口. 4. ...
- Docker 容器间的单向连接
Docker 容器间的单向连接 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerfile 自动制作 Docker 镜像( ...
- Docker容器间网络互联原理,讲不明白算我输....
@ 目录 一.今天我们要搞明白的实验 二.前置网络知识 2.1.docker默认为我们创建的网络 2.2.怎么理解docker0网桥 2.3.什么是veth-pair技术? 三.同一个局域网中不同主机 ...
- docker 容器间网络配置
创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头. 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器 ...
随机推荐
- sudo是干哈子的
我sudo loop发现啊大家就都是root了,那么这和我直接用root起有啥区别呢? root 3826 0.0 0.1 56596 3984 pts/2 S+ 12:5 ...
- NET 的 ELK 监控方案
NET 的 ELK 监控方案 https://www.jianshu.com/p/3c26695cfc38 背景就不多说了,谁家没有个几个十系统在跑啊.如何监控这几十个系统的运行状况,对于非运营人员来 ...
- P3509 [POI2010]ZAB-Frog
题目描述 On the bed of one particularly long and straight Byteotian brook there lie rocks jutting above ...
- LeetCode--Reverse Linked List(Java)
相似题目: Palindrome Number Valid PalinDrome Reverse Linked List Palindrome Linked List 翻转单链表(要注意的是是否含有头 ...
- [BZOJ1339] [Baltic2008] Mafia / 黑手党
Description 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价, 现在警方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的 ...
- [BZOJ4212]神牛的养成计划
[BZOJ4212]神牛的养成计划 试题描述 Hzwer 成功培育出神牛细胞,可最终培育出的生物体却让他大失所望...... 后来,他从某同校女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神 ...
- [洛谷P4015]运输问题
题目大意:有m个仓库和n个商店.第i个仓库有 $a_{i}$ 货物,第j个商店需要$b_{j}$个货物.从第i个仓库运送每单位货物到第j个商店的费用为$c_{i,j}$.求出最小费用和最大费用 题 ...
- 给DOM元素绑定click事件也有学问
最简单的莫过于使用click方法: 1 <input id="btn" type="button" value="BUTTON" on ...
- centos的网络设置问题
遭遇了多次centos的网络连接问题,现将正确配置总结下: 这里是使用vmware虚拟平台,因为涉及到中间这层,所以需要设置下: 保证centos也能连上网,首先物理机连上网,接着物理机的vmware ...
- 使用eclipse插件创建一个web project
使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...