文章目錄
- 簡介
- 概述
- 解決方案
- 初始化網路
- 新建網路
- 查看網路資訊
- 實作容器互聯
- 創建容器
- 測驗網路互通
- 總結(summary)
- 重難點分析
- FAQ分析
- Bug分析
簡介
概述
Docker 中存在多個容器時,容器與容器之間經常需要進行通訊,例如nacos訪問mysql,redis集群中各個節點之間的通訊,
解決方案
Docker 中容器與容器之間進行通訊的解決方案一般有兩種:
第一種:兩個容器通過宿主機進行通訊(容器中的埠會映射到宿主機上)
第二種:兩個容器之間直接通過虛擬網路進行連接,但是需要我們在docker中創建網路,
初始化網路
新建網路
例如:創建名字為t-net的網路
docker network create -d bridge t-net #t-net為自己起的網路名稱
其中,-d driver,網路型別,默認 bridge,
說明,創建好這個網路以后,在網落上添加容器,容器就可以通訊了
查看網路資訊
列出所屬有網路
docker network ls
查看網路資訊
docker inspect 67d #67d 為創建的網路id
實作容器互聯
創建容器
打開終端,基于centos:7這個鏡像啟動容器,并加入到t-net這個網路
docker run -it --name app1 --network t-net centos:7
新開終端執行,基于centos:7這個鏡像再啟動容器,同時也加入到t-net網路
docker run -it --name app2 --network t-net centos:7
測驗網路互通
在兩個終端中分別執行:
ping app1
ping app2
顯示如下:
[root@35569c623c4c /]# ping app1
PING app1 (172.18.0.2) 56(84) bytes of data.
64 bytes from 35569c623c4c (172.18.0.2): icmp_seq=1 ttl=64 time=0.577 ms
64 bytes from 35569c623c4c (172.18.0.2): icmp_seq=2 ttl=64 time=0.061 ms
64 bytes from 35569c623c4c (172.18.0.2): icmp_seq=3 ttl=64 time=0.066 ms
......
總結(summary)
重難點分析
- 容器互聯方案
- 創建網路方式
- 應用網路
FAQ分析
- 什么是容器互聯?
- 為什么需要創建網路?
- 如何創建網路?
- 如何應用網路?
- 如何測驗網路是否是通的?
Bug分析
- …
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292289.html
標籤:其他
上一篇:VSCode遠程連接服務器報錯:Could not establish connection to “xxxxxx”【已解決】
