摘要:默認指定了接口的地址和子網掩碼,讓主機和容器之間可以通過網橋相互通信。解決方法是創建一對接口,分別放到兩個容器中,配置成點對點鏈路。點到點鏈路不需要子網和子網掩碼。
容器訪問控制 檢查本地系統的轉發支持
sysctl net.ipv4.ip_forward sysctl -w net.ipv4.ip_forward=1 # 手動打開 如果在啟動Docker服務的時候設定--ip-forward=true,Docker會自動設定容器之間相互訪問,需要:
1 容器的網絡拓撲是否已經互聯,默認連接在docker0網橋 2 本地防火墻是否允許通過訪問所有端口
默認情況下,不同容器之間是允許網絡互通的, 為了安全,可以禁止。 vim /etc/default/docker DOCKER_OPTS=--icc=false訪問指定端口
通過 -icc=false 關閉網絡訪問后,還可以通過 --link=CONTAINER_NAME:ALIAS 來訪問容器的開放端口容器訪問外部實現
docker run -p or -P 本質是在本地iptables的nat表添加相應的規則 iptables -t nat -nL # 查看主機的NAT規則 如果希望永久綁定到某個固定的IP地址 vim /etc/docker/daemon.json { "ip":"0.0.0.0" }配置docker0網橋
Docker服務默認會創建一個docker0網橋,在內核層聯通了其他的物理或者虛擬網卡,將所有的容器和本地主機都放到同一個物理網絡。 Docker默認指定了docker0接口的IP地址和子網掩碼,讓主機和容器之間可以通過網橋相互通信。查看網橋和端口連接信息
yum install bridge-utils -y brctl show 每次新創建一個容器的時候,Docker從可用的地址段中選擇一個空閑的IP分配給容器的eth0端口,使用本地的docker0接口IP作為所有容器的默認網關。 sudo docker run -it --rm base /bin/bash ip addr show eth0 ip route自定義網橋
啟動Docker服務時使用 -b BRIDGE 或 --bridge=BRIDGE 來指定使用的網橋 若服務已運行,先停止服務并刪除舊的網橋 sudo systemctl stop docker sudo ip link set dev docker0 down sudo brctl delbr docker0 然后創建一個新的網橋bridge0 sudo brctl addbr bridge0 sudo ip addr add 192.168.5.1/24 dev bridge0 sudo ip link set dev bridge0 up ip addr show bridge0 # 查看確認網橋創建并啟動 vim /etc/docker/daemon.json 將Docker默認橋接到創建的網橋上。 { "bridge": "bridge0", }外部工具
pipework # shell腳本,可以幫助用戶在比較復雜的場景中完成容器的連接 playground Docker容器網絡拓撲管理的Python庫,包括路由器、NAT防火墻,以及其他一些基本服務。編輯網絡配置文件
Docker 1.2.0以后支持在運行中的容器編輯 /etc/hosts, /etc/hostname, /etc/resolve.conf文件 但是這些修改都是臨時的,只在運行中的容器中保留。創建點對點的連接
用戶需要有時候在兩個容器之間可以直連通信,而不用通過主機網橋進行橋接。 解決方法是:創建一對peer接口,分別放到兩個容器中,配置成點對點鏈路。 1 啟動兩個容器 docker run -it --rm --net=none base /bin/bash docker run -it --rm --net=none base /bin/bash 2 找到進程號,然后創建網絡命名空間的跟蹤文件 docker inspect -f "{{.State.Pid}}" e9f076fc2447 docker inspect -f "{{.State.Pid}}" 762086c10c65 sudo mkdir -p /var/run/netns sudo ln -s /proc/2989/ns/net /var/run/netns/2989 sudo ln -s /proc/3004/ns/net /var/run/netns/3004 3 創建一對peer接口,然后配置路由 sudo ip link add A type veth peer name B sudo ip link set A netns 2989 sudo ip netns exec 2989 ip addr add 10.1.1.1/32 dev A sudo ip netns exec 2989 ip link set A up sudo ip netns exec 2989 ip route add 10.1.1.2/32 dev A sudo ip link set B netns 3004 sudo ip netns exec 3004 ip addr add 10.1.1.1/32 dev B sudo ip netns exec 3004 ip link set B up sudo ip netns exec 3004 ip route add 10.1.1.2/32 dev B 到此2個容器可以相互ping通,并成功建立連接。點到點鏈路不需要子網和子網掩碼。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27483.html
摘要:才云科技云開源高級工程師唐繼元受邀社群,在線分享高級實踐,介紹如何構建環境。除命令外的停止都是異常停止。 才云科技云開源高級工程師唐繼元受邀DBAplus社群,在線分享《Kubernetes Master High Availability 高級實踐》,介紹如何構建Kubernetes Master High Availability環境。 以下是分享實錄: 大家好,我是才云科技的唐繼...
摘要:同時,眾多創業公司也已經開發出定制的平臺來管理容器,而傳統的供應商,如思科和使他們的網絡管理工具控制容器。虛擬網絡產品的思科的等個項目是第一批被支持的第三方網絡工具。 盡管媒體對容器技術存在大肆宣傳,但是,應用程序打包技術仍在不斷發展之中,特別是與網絡有關的。 在過去的一年里,雖然Docker容器自身在網絡功能方面有著長足的進步。但與此同時,Docker也構建了一個插件架構,允許更先進...
摘要:提供用于獲取有關容器和容器組狀態的實時信息的服務,以及有關群集中開發人員操作的詳細信息。集群最高級別的抽象是指運行本身是集群應用程序的一組機器及其管理的容器,一個集群必須有一個,即命令和控制集群中所有其他機器的系統。Docker容器改變了人們對開發、部署和維護軟件的思考方式,利用現代操作系統的本機隔離功能,容器支持類似于虛擬機的關注點分離,但是與基于虛擬機監控程序的虛擬機相比,它的開銷要小得...
摘要:云幫能解決什么問題新一代企業平臺讓開發人員輕松地開發部署和運維應用,讓架構師和運營人員利用熟知和可靠技術打造一個受控的運行環境。有助于加速企業級應用服務于市場,實現內部資源的有效利用。 云幫是什么? 云幫 是一款基于容器技術的應用管理平臺。社區版針對個人、企業完全免費,您可以自由的下載與傳播,但需要遵循我們的社區版協議。 云幫從哪里來? 云幫是 北京好雨科技有限公司 結合容器技術整合的...
閱讀 2851·2021-09-22 15:43
閱讀 4686·2021-09-06 15:02
閱讀 845·2019-08-29 13:55
閱讀 1679·2019-08-29 12:58
閱讀 3061·2019-08-29 12:38
閱讀 1206·2019-08-26 12:20
閱讀 2264·2019-08-26 12:12
閱讀 3311·2019-08-23 18:35