操作參照了:
ubuntu14.0.4為例
宿主主機:
ip :192.168.220.131 (ifconfig檢視)
gateway:192.168.220.2 (netstat -rn destination 為 0.0.0.0 的)
dns: 192.168.220.2 (cat /etc/resolv.conf)
1. 停止docker服務
~#:service docker stop
2.刪除docker0網絡卡
~#:ifconfig docker0 down
~#:brctl delbr docker0
3.新建橋接物理網路虛擬網絡卡br0
~#:brctl addbr br0
~#:ip link set dev br0 up
~#:ip addr del 192.168.220.131/24 dev eth0 #刪除宿主機網絡卡的ip
~#:ip addr add 192.168.220.131/24 dev br0 #將宿主主機的ip設定到br0
~#:brctl addif br0 eth0 #將宿主機網絡卡掛到br0上
~#:ip route del default #刪除原路由
~#:ip route add default via 192.168.220.2 dev br0 #為br0設定路由
4.設定docker服務啟動引數
vi /etc/default/docker
在docker_opts 選項裡加上 : -b=br0 讓docker服務啟動時使用br0網絡卡進行橋接
例如:docker_opts="--registry-mirror= -b=br0"
5.啟動docker服務
~#:service docker start
6.安裝pipework
~#:git clone
~#:cp ~/pipework/pipework /usr/local/bin/
7.啟動乙個手動設定網路的容器
這裡最好不要讓docker自動獲取ip,下次啟動會有變化而且自動獲取的ip可能會和物理網段中的ip衝突
~#:docker run -itd --net=none --name=server1 ubuntu
9.為server1容器設定乙個與橋接物理網路同位址段的ip@閘道器
~#:pipework br0 server1 192.168.220.101/[email protected]
如此 容器便和宿主主機在同乙個網段了,其他主機也做相同的操作,容器間便可以通訊了。 不同主機間的 Docker 容器相互通訊
操作參照了 ubuntu14.0.4為例 宿主主機 ip 192.168.220.131 ifconfig檢視 gateway 192.168.220.2 netstat rn destination 為 0.0.0.0 的 dns 192.168.220.2 cat etc resolv.conf...
Docker 同一主機不同容器之間的通訊
解決問題 解決同一主機不同容器之間的通訊 當在本機執行乙個web的映象,想要訪問mysql映象的時候如果使用127.0.0.1 3306來連線mysql是連線不上的。最好的解決辦法就是將mysql服務放在另外乙個主機上,但是畢竟。也沒有那麼多裝置。使用docker inspect 容器名 id 可以...
docker 宿主機與容器間複製檔案
將當前目錄的test.txt檔案複製到container容器的 home目錄下 docker cp container home test.txt home 將container容器內檔案複製到宿主機 我使用的為centos7 docker 1.12.6,其他版本不確定是否提供該命令 示例 假設我有...