大家好,又见面了,我是你们的朋友全栈君。
首先我们需要了解的是:每个docker容器都是隔离的,所以它们之间是相互不同的! 那么我们开始操作起来,让他们之间可以相互ping通网络。。。
一、拉取镜像创建容器
1.在这之前首先关闭防火墙;
如果显示 runinng 则执行:sudo systemctl stop firewalld 2.在https://hub.docker.com里拉取镜像 busybox (注:busybox相当于小型的centos虚拟机,且比较小)
执行docker image ls 查看镜像; 3.创建两个容器: docker run -it -d –name test1 busybox docker run -it -d –name test2 busybox
二、查看网络连接状态
代码语言:javascript复制docker network ls
这里有个bridge,默认情况下创建的所有容器都会在bridge网段; 查看bridge网段详情通常是
代码语言:javascript复制docker network inspect bridge
这里我们下在一个小插件:
sudo yum install -y bridge-utils
这样执行 sudo brctl show
可以清晰简单的看到连接到各网段的容器
进入test1容器docker exec -it test1 sh
在上图可以看到test2 的ip是172.17.0.3,那么我们ping一下test2试试看是否网络可通
是可以的 因为其在同一各网段;那么直接ping容器名字呢?
那么神操作来啦 简单的命令试试结果吧
docker run -d -it --link test2 --name test3 busybox
进入test3容器
OK!
那么如果不是在bridge网段的同期是否能ping通呢
首先建一个网段取名为:my-bridge
代码语言:javascript复制docker network create --driver bridge my-bridge
其中–driver是表示基于后面参数bridge建立的网段my-bridge 来吧,创建一个在my-bridge网段的容器
代码语言:javascript复制docker run -it -d --net=my-bridge --name test4 busybox
很显然test4 和test1.2.4都不在一个网段
ping下试试吧
不行的,那么见证奇迹的时刻到了,先看看网络连接
我们把test也加入bridge网段(test4会有两个ip)
代码语言:javascript复制docker network connect bridge test4
再看下网段情况
那么我们进入test4网段随意ping一下bridge网段的容器
OK,很奈斯
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194999.html原文链接:https://javaforall.cn