Docker 自定義網絡

基本命令查看

查看所有網絡

docker network ls

所有網路模式

網絡模式 配置 說明
bridge模式 --net bridge 默認值,在Docker網橋 docker0 上爲容器創建新的網絡棧
none模式 --net none 不配置網絡,用戶可以稍後進入容器,自行配置
container 模式 --net container:name/id 容器和另外一個容器共享Network namespace。 kubernetes中的pod就是多個容器共享一個Network namespace。
host模式 --net host 容器和宿主機共享Network namespace
用戶自定義 --net 自定義網絡 用戶自己使用network相關命令定義網絡,創建容器的時候可以指定爲自己定義的網絡

查看一個具體的網絡的詳細信息

自定義網卡

刪除原來的所有容器

docker rm -f $(docker ps -aq)

接下來我們來創建容器

但是我們知道默認創建的容器都是 docker0網卡 的

默認我們不配置網絡,也就相當於默認值 --net bridge 使用的docker0

docker run -d -P --name tomcat01  tomcat
docker run -d -P --name tomcat01 --net bridge tomcat
# 上面兩個一樣

docker0網絡的特點

  1. 它是默認的
  2. 域名訪問不通
  3. --link 域名通了,但是刪了又不行

讓容器創建的時候使用自定義網絡

自定義創建的默認default "bridge"

自定義創建一個網絡

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

確認下

我們來啓動兩個容器測試,使用自己的 mynet

docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat

再來查看下

我們來測試ping容器名和ip試試,都可以ping通

docker exec -it tomcat-net-01 ping 192.168.0.3

 

docker exec -it tomcat-net-01 ping tomcat-net-02

 發現,我們自定義的網絡docker都已經幫我們維護好了對應的關係

所以我們平時都可以這樣使用網絡,不使用--link效果一樣,所有東西實時維護好,直接域名 ping 通。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章