如何實(shí)現(xiàn)不同網(wǎng)段docker容器網(wǎng)絡(luò)互通
首先我們需要了解的是:每個docker容器都是隔離的,所以它們之間是相互不同的!
那么我們開始操作起來,讓他們之間可以相互ping通網(wǎng)絡(luò)。。。
一、拉取鏡像創(chuàng)建容器
1.在這之前首先關(guān)閉防火墻

如果顯示 runinng 則執(zhí)行:
sudo systemctl stop firewalld
2.在https://hub.docker.com里拉取鏡像 busybox
(注:busybox相當(dāng)于小型的centos虛擬機(jī),且比較?。?/p>

執(zhí)行docker image ls 查看鏡像;
3.創(chuàng)建兩個容器
docker run -it -d --name test1 busybox docker run -it -d --name test2 busybox

二、查看網(wǎng)絡(luò)連接狀態(tài)
docker network ls

這里有個bridge,默認(rèn)情況下創(chuàng)建的所有容器都會在bridge網(wǎng)段;
查看bridge網(wǎng)段詳情通常是
docker network inspect bridge

這里我們下在一個小插件:
sudo yum install -y bridge-utils
這樣執(zhí)行
sudo brctl show
可以清晰簡單的看到連接到各網(wǎng)段的容器
進(jìn)入test1容器
docker exec -it test1 sh
在上圖可以看到test2 的ip是172.17.0.3,那么我們ping一下test2試試看是否網(wǎng)絡(luò)可通

是可以的 因?yàn)槠湓谕桓骶W(wǎng)段;那么直接ping容器名字呢?

那么神操作來啦 簡單的命令試試結(jié)果吧
docker run -d -it --link test2 --name test3 busybox
進(jìn)入test3容器

OK!
那么如果不是在bridge網(wǎng)段的同期是否能ping通呢
首先建一個網(wǎng)段取名為:my-bridge
docker network create --driver bridge my-bridge
其中–driver是表示基于后面參數(shù)bridge建立的網(wǎng)段my-bridge
來吧,創(chuàng)建一個在my-bridge網(wǎng)段的容器
docker run -it -d --net=my-bridge --name test4 busybox
很顯然test4 和test1.2.4都不在一個網(wǎng)段

ping下試試吧

不行的,那么見證奇跡的時刻到了,先看看網(wǎng)絡(luò)連接

我們把test也加入bridge網(wǎng)段(test4會有兩個ip)
docker network connect bridge test4
再看下網(wǎng)段情況

那么我們進(jìn)入test4網(wǎng)段隨意ping一下bridge網(wǎng)段的容器

OK,很奈斯~
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Windows下運(yùn)用Docker部署Node.js開發(fā)環(huán)境
這篇文章主要介紹了詳解Windows下運(yùn)用Docker部署Node.js開發(fā)環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
詳解Ubuntu Docker Registry 搭建私有倉庫
這篇文章主要介紹了詳解Ubuntu Docker Registry 搭建私有倉庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Ubuntu16.04Docker的CS模式詳細(xì)介紹
這篇文章主要介紹了Ubuntu16.04Docker的CS模式詳細(xì)介紹的相關(guān)資料,這里對Docker CS模式圖文詳細(xì)介紹,需要的朋友可以參考下2016-12-12

