Docker現(xiàn)在已經(jīng)成為一種輕量級的虛擬化方案,在同一宿主機(jī)下,所有的容器都可以通過網(wǎng)橋進(jìn)行互聯(lián)。如果之前有docker的使用經(jīng)驗(yàn),可能已經(jīng)習(xí)慣了使用–link來對容器進(jìn)行互聯(lián)。隨著docker的逐步完善,強(qiáng)烈推薦大家使用網(wǎng)橋(bridge)來對容器進(jìn)行互聯(lián)。
二、實(shí)踐過程
1.創(chuàng)建一個(gè)網(wǎng)絡(luò)my-net:
1
2
3
4
5
6
7
8
|
[root@ChatDevOps ~] # docker network create my-net 71b42506de62797889372ea4a5270f905f79a19cf80e308119c02e529b89c94e [root@ChatDevOps ~] # docker network ls NETWORK ID NAME DRIVER SCOPE 3dec5cbb852e bridge bridge local 6dd6dcfc2f26 host host local 71b42506de62 my-net bridge local 4c142a02cd6b none null local |
2.在創(chuàng)建docker容器的時(shí)候就指定橋接網(wǎng)絡(luò):
1
2
3
4
|
[root@ChatDevOps docker] # docker create -it --name d1 --network my-net -p 8080:80 ubuntu:14.04 4776b65db566f370cad5da3a9354a12c7e4f9badab53647b7e30e1e8f343ae3d [root@ChatDevOps docker] # docker start d1 d1 |
在該命令中,docker create也可以用docker container create,二者等價(jià)。–name指定了容器的名稱,–network指定了該容器的網(wǎng)絡(luò)名稱,橋接形式默認(rèn)為網(wǎng)橋,-p或–publish指定了映射的端口。如果在這一步指定的網(wǎng)絡(luò)沒有預(yù)先被創(chuàng)建,那么這個(gè)容器時(shí)無法正常啟動(dòng)的。此時(shí),可以為該容器創(chuàng)建網(wǎng)絡(luò)后再次啟動(dòng)容器即可。
3.還可以在運(yùn)行一個(gè)docker容器的時(shí)候指定一個(gè)已經(jīng)創(chuàng)建好的網(wǎng)絡(luò):
1
2
3
4
5
6
7
|
[root@ChatDevOps docker] # docker run -it --name d2 --network my-net --publish 8081:80 ubuntu:14.04 /bin/bash root@07fd516911d0:/ # ping d1 PING d1 (172.18.0.2) 56(84) bytes of data. 64 bytes from d1.my-net (172.18.0.2): icmp_seq=1 ttl=64 time =0.115 ms root@4776b65db566:/ # ping d2 PING d2 (172.18.0.3) 56(84) bytes of data. 64 bytes from d2.my-net (172.18.0.3): icmp_seq=1 ttl=64 time =0.062 ms |
通過容器名稱即可ping通在同一網(wǎng)橋的容器。也可以直接ping其IP。
三、總結(jié)
1.在docker安裝完成之后,docker容器有三個(gè)網(wǎng)絡(luò),如下:
1
2
3
4
5
|
[root@ChatDevOps ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 3dec5cbb852e bridge bridge local 6dd6dcfc2f26 host host local 4c142a02cd6b none null local |
2.在同一網(wǎng)絡(luò)中的所有容器網(wǎng)絡(luò)都是互通的。
3.容器的網(wǎng)絡(luò)配置中的dns配置可以在主機(jī)的/etc/docker/daemon.json文件進(jìn)行配置,參照官方格式:
1
2
3
4
5
6
7
8
9
|
{ "bip" : "192.168.1.5/24" , "fixed-cidr" : "192.168.1.5/25" , "fixed-cidr-v6" : "2001:db8::/64" , "mtu" : 1500, "default-gateway" : "10.20.1.1" , "default-gateway-v6" : "2001:db8:abcd::89" , "dns" : [ "10.20.1.2" , "10.20.1.3" ] } |
根據(jù)實(shí)際情況進(jìn)行配置即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/solaraceboy/article/details/80585880