docker容器的互通

在这里跟大家说一下我们今天要做的事情;
1️⃣ 在docker中在建立多个容器;
2️⃣ 进入刚建立好的容器内,然后测试该容器是否与刚建好的其它容器能够相互ping通;
3️⃣ 自定义一个网络,再把刚刚建立好的容器放进该网络在进行测试。
好了开始干活吧!
首先我这里是拉取了一个busybox镜像;(在此之前我已经拉取好了)
docker容器的互通
在此之前我们安装个系统网桥管理工具brctl;
sudo yum install -y bridge-utils
docker容器的互通
们要完成我们的第一步;
在这里我以busybox镜像为基础一次性建立了三个容器test1,test2,test3;
docker容器的互通
建立完成后我们进入test1 容器中,做我们的第二步;
docker容器的互通
我在这里可以说是一顿操作猛如虎啊,但没有ping通刚刚建立的容器,然后我又ping了一下baidu.com说明咱的网是没毛病的;
既然我们现在ping容器名ping不通不妨ping容器的ip;
在ping之前我们要知道他们的ip;

docker inspect bridge (来看该网络下[bridge:桥接]的详细信息)
docker容器的互通
现在我们知道了容器的ip了,接下来就是ping啦;
docker容器的互通
现在我们通过ip已经可以互ping了,但我们在实际生活中ip有时候是会变化的,所以我们为了方便一般都是通过容器名称来互ping;现在就来解决这个问题

首先我们要自定义一个网络,然后再把我们刚刚建立好的容器把他们都放到该网络里面,然后再ping
docker network create --driver bridge my-bridge
docker容器的互通
在这之前我已经建立过了
docker容器的互通
现在我们要把刚建立好的容器放进我们刚自定义好的网络(my-bridge)里;
docker network connect my-bridge test1
docker network connect my-bridge test2
docker network connect my-bridge test3
docker容器的互通
现在我们查看一下有没有放入到该网络(my-bridge)里;
docker容器的互通
OK,里面有我们现在开始做最后一步
docker exec -it test1 sh
docker容器的互通
????,到此我们就做完了。
我们刚刚用到了一些新命令在这里我说一下;

  1. docker run -dit --name test1 busybox sh
    以busybox镜像为基础创建一个test1容器并且在后台运行;
    -it常一起使用,以一个新的伪终端开启一个容易,使用后就能新开一个容器中的终端,相当于新开了一个虚拟机,接着在终端中的命令就是在容器中执行命令
  2. docker network create --driver bridge my-bridge
    建立一个桥接网络名字为my-bridge
  3. docker inspect bridge(my-bridge)
    查看bridge(my-bridge)网络上连接的容器
  4. docker network connect my-bridge test1
    容器test1与my-bridge 网络连接
  5. 在这里我在拓展一两个命令;
    (1) sudo brctl show 查看网桥信息
    (2)docker network disconnct my-bridge test1 断开容器test1与my-bridge网络的连接