您好,登錄后才能下訂單哦!
這篇文章主要介紹“Docker的網絡基礎知識點有哪些”,在日常操作中,相信很多人在Docker的網絡基礎知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker的網絡基礎知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
docker提供幾種網絡,它決定容器之是以及外界和容器之間怎么樣去通信。
可以通過如下方法查看docker的網絡:
docker network ls
null:無網絡,使用這種網絡的容器會完全隔離
host:主機網絡,使用這種網絡的容器會使用主機的網絡,這種網絡對外界是完全開放的,能夠訪問到主機,就能訪問到容器
bridge:橋接網絡,除非創建容器的時候指定網絡,否則容器默認使用橋接網絡。屬于這個網絡的容器之間可以相互通信,不過外界想要訪問這個網絡的容器,需要使用橋接網絡,有點兒像主機和容器之間的一座橋,對容器有一定的隔離作用
查看bridge網絡信息:
docker network inspect bridge
會列出bridge網絡的相關信息,containers表示使用了這網絡的容器。
創建一個使用bridge網絡的容器:
docker run -d --name web1 --net bridge nginx
創建一個使用none網絡的容器:
docker run -d --name web_none --net none nginx
查看none網絡信息:
docker network inspect none
創建一個使用host網絡的容器:
docker run -d --name web_host -net host nginx
可以看到該容器沒有IP地址,因為它直接使用宿主機IP地址
如果想讓外界可以訪問到基于bridge網絡創建的容器提供的服務,則必須要告訴docker要使用的端口。
可以通過如下方法查看鏡像會使用哪些端口:
docker inspect nginx | jq .[]."ContainerConfig"."ExposedPorts"
在創建容器的時候可以指定這個容器的端口與主機端口的映射關系:
docker run -d --name web -p 8888:80 nginx
-p,–publis: 可以指定主機與容器的端口關系,冒號左邊是主機的端口,右邊是映射到容器中的端口
-P:該參數會分配鏡像中所有的會使用的端口,并映射到主機上的隨機端口
查看容器的端口情況:
docker port web
如果創建容器時,-p參數后面只一個指定端口,意思是主機會隨機一個端口,映射到容器的該指定端口:
docker run -d --name web -p 80 nginx
可以基于某一個類型的網絡去創建一些自定義的網絡,這樣屬于這個網絡的容器就可以單獨隔離出來,它們之間可以相互通信,而不在這個網絡的容器就不能直接訪問到它們。一個容器可以屬于多個網絡,同一個自定義網絡下的容器可以通過各自的容器名訪問到對方,因為會使用到docker內嵌的一個dns功能。
創建一個自定義網絡:
docker network create --driver bridge custom #--driver用于指定網絡類型
可以通過docker network ls 查看到新創建的custom網絡相關信息,Subnet表示這個網絡下的子網IP段,那么基于custom自定義網絡創建的容器IP都會以該IP段開頭。
基于custom網絡創建容器:
docker run -d --name web2 --net custom nginx
如果想將已經創建的容器放到自定義網絡中,使用如下指令:
docker network connect custom web
將web從bridge網絡中移除:
docker network disconnect bridge web
到此,關于“Docker的網絡基礎知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。