通過上一篇學習,我們對docker網絡有了初步的瞭解。本篇,咱們就來實戰docker網絡。
docker網絡實戰
實戰docker網絡,我們將從以下幾個案例來講解
1:birdge是什麼?
2:host
3:none
4:container
實戰網絡類型如下:
在docker中,網絡的配置是以json格式存在的,下面我們就來看看每種類型網絡配置信息
我們先來看看bridge類型的網絡
使用命令:docker network inspect bridge
查看host類型的網絡
使用到命令:docker network inspect host
none類型網絡
使用到的命令:docker network inspect none
自定義網絡類型
docker network inspect bb_network
說明:bb_network是自定義網絡名稱
bridge是什麼
docker服務默認會創建一個docker0網橋,該橋接網絡的名稱是docker0,它是內核層連通了其他物理或虛擬網卡,這就是將所有容器和本地主機都放到同一個物理的網絡中。docker默認指定了docker0接口的IP地址和子網掩碼,讓主機和容器之間可以通過網橋相互通訊
網絡圖
理解兩兩匹配,一一匹配:
啓動後,查看宿主機ifconfig
然後分別進入對應的容器中查看ifconfig
先來看看tomcat81:
我們可以看到 veth23和etho22一一對應的。成對出現的。
host說明
host是什麼?
直接使用宿主機的ip地址與外界進行通信,不再需要額外進行NAT轉換。
警告
如果使用以下命令會出現警告:
docker run -d -p 80803:8080 --netword hot --name tomcat83 billygoo/tomcat8-jdk8
正確寫法:
把端口去掉。
再次查看宿主機的ip信息。發現沒有新增加網絡配置。說明在host模式下,容器將不會獲取一個獨立的network namespace。和宿主機共用一個。
不信?查看83的網絡配置信息:
怎麼訪問83呢?
none說明
container網絡模式
下一篇預告:在實際生產中,我們一般都是自定義網絡的。所以,在下一篇中,咱們將實戰自定義網絡
本系列教程直通車
直通車,本系列教程已發佈文章,快速到達,《Docker學習系列》教程已經發布的內容如下:
【圖文教程】Windows11下安裝Docker Desktop
【填坑】在windows系統下安裝Docker Desktop後遷移鏡像位置
【Docker學習系列】Docker學習1-docker安裝
【Docker學習系列】Docker學習2-docker設置鏡像加速器
【Docker學習系列】Docker學習3-docker的run命令幹了什麼?docker爲什麼比虛擬機快?
【Docker學習系列】Docker學習2-常用命令之啓動命令和鏡像命令
【Docker學習系列】Docker學習系列3:常用命令之容器命令
【Docker學習系列】Docker學習4-常用命令之重要的容器命令
【Docker教程系列】Docker學習5-Docker鏡像理解
【Docker教程系列】Docker學習6-Docker鏡像commit操作案例
【Docker學習教程系列】7-如何將本地的Docker鏡像發佈到阿里雲
【Docker學習教程系列】8-如何將本地的Docker鏡像發佈到公司鏡像服務器上?
「Docker學習系列教程」10-Docker容器數據卷案例
docker高級篇1-dockeran安裝mysql主從複製
docker高級篇第二章-分佈式存儲之實戰案例:3主3從redis集羣擴容配置
docker高級篇第二章-分佈式存儲之實戰案例:主從容錯切換遷移案例
Docker高級:Redis集羣實戰!4主4從縮容到3主3從,怎麼處理?
docker高級篇第三章-dockerfile案例之製作自己的centos鏡像
docker高級篇:實戰-自己開發的微服務怎麼在docker上面運行?
大家好,我是凱哥Java(kaigejava),樂於分享,每日更新技術文章,歡迎大家關注“凱哥Java”,及時瞭解更多。讓我們一起學Java。也歡迎大家有事沒事就來和凱哥聊聊~~~