Docker学习笔记(八)Docker0网络解析
Docker0
清空所有的images
docker rmi -f $(docker images -qa)這里使用的我的阿里云服務器
Linux ip 命令與 ifconfig 命令類似,但比 ifconfig 命令更加強大,主要功能是用于顯示或設置網絡設備。
ip 命令是 Linux 加強版的的網絡配置工具,用于代替 ifconfig 命令
ip address // address:設備上的協議(IP或IPv6)地址lo下所表示的是本機回環地址
etho下是我阿里云上的網卡地址
docker0是docker下的地址,docker0本身相當于一個虛擬網卡,整個docker0類似于路由器
啟動一個tomcat鏡像
docker run -it -P --name tom1 tomcat:8啟動另一個tomcat鏡像
在宿主機上用ip addr查看
docker中所有借口都是虛擬的
可以ping通容器內部
容器之間可以互通
容器刪除,相應的Veth也會自動刪除
–link-
-link可以讓容器使用 ping 容器名稱
docker run -d -P --name tomcat1 tomcat docker run -d -P --name tomcat2 tomcatdocker run -d -P --name tomcat3 --link tomcat2 tomcat docker exec -it tomcat3 ping tomcat2但是會引起一些麻煩,3可以連2,但是2不餓能連3,就比較麻煩。
本質就是在3中的/etc/hosts添加的了2的地址和名稱
docker0本身也不支持使用容器名稱進行通信
三種網絡模式
bridge:橋接模式
host:主機模式
none:無網絡模式
查看網絡模式: docker network ls
bridge
host
該模式下容器是不會擁有自己的ip地址,而是使用宿主機的ip地址和端口。這種模式的好處就是網絡性能比橋接模式的好。缺點就是會占用宿主機的端口,網絡的隔離性不太好
none模式
加上后面的參數就行了 --net=none
none模式沒有IP地址,無法連接外網,等于就是斷網的狀態,作用就是用于測試,生產環境一般不會用到這種
自定義網絡模式
–driver bridge 設置網絡模式
–subnet 192.168.0.1/16 設置子網
–gateway 192.168.0.1 設置網關
自定義網絡測試
首先啟動兩個Ubuntu容器再分別安裝net-tools和ping命令
使用自定義的網絡,不用–link也可以ping容器名稱
root@iZ2zegtrmp24clddqup0eiZ:~# docker exec -it ubuntu1 ping ubuntu2 PING ubuntu2 (192.168.0.3): 56 data bytes 64 bytes from 192.168.0.3: icmp_seq=0 ttl=64 time=0.080 ms 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.093 ms 64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.103 ms 64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.092 ms 64 bytes from 192.168.0.3: icmp_seq=4 ttl=64 time=0.120 ms容器連接網絡
docker network connect mynet tomcat1 // docker network connect 網絡名稱 容器名稱原理就是將容器加入到該網絡上,一個容器有多個IP
總結
以上是生活随笔為你收集整理的Docker学习笔记(八)Docker0网络解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链和人工智能:完美匹配
- 下一篇: 小米系列手机adb devices提示找