您好,登錄后才能下訂單哦!
本篇內容介紹了“docker網絡怎么配置”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.創建一對虛擬接口
2.在主Docker主機內部給它一個唯一的名稱,比如veth75f9,綁定它到docker0或者Docker使用的任何網橋上
3.讓其他的接口翻墻進入新的容器(已經提供了lo接口),在容器的獨立和唯一網絡接口命名空間內,重新命名它為更漂亮的名字eth0,名稱不要和其他的物理接口沖突。
4.在網橋的網絡地址訪問內給容器的eth0一個新的IP地址,設置它的缺省路由為Docker主機在網橋上擁有的IP地址。
這些步驟結束后,容器將立即擁有一個eth0(虛擬)網卡,并會發現它自己可以和其他的容器以及互聯網通訊。 你可以使用 –net= 這個選項來執行 docker run 啟動一個容器,這個選項有一下可選參數。
–net=bridge— 默認選項,用網橋的方式來連接docker容器。 –net=host— docker跳過配置容器的獨立網絡棧。 –net=container:NAME_or_ID— 告訴docker讓這個新建的容器使用已有容器的網絡配置。 –net=none— 告訴docker為新建的容器建立一個網絡棧,但不對這個網絡棧進行任何配置,所以只能訪問本地網絡,沒有外網。
這是 docker 默認的網絡模式,Docker 后臺程序會創建 docker0,一個虛擬的以太網橋,用于自動轉發與之連接的任意網絡接口間的數據包。在bridge模式下,連在同一網橋上的容器可以相互通信。
[root@sta2 docker]# docker run -it -P --name mynginx nginx #為容器做端口映射
使用橋接模式時,docker會創建一個docker0 的網橋,并將這個網絡設備加入到docker0網橋中,可以通過brctl show命令查看。
[root@sta2 ~]# brctl showbridge name bridge id STP enabled interfaces docker0 8000.3e2d35d38bae no vethab6aea2
從docker0子網中分配一個IP給容器使用,并設置docker0的IP地址為容器的默認網關。
容器中的網絡配置:
查看映射端口配置:
[root@sta2 docker]# docker ps -l
或者使用以下方法查看映射端口配置:
[root@sta2 docker]# docker port mynginx443/tcp -> 0.0.0.0:32774 80/tcp -> 0.0.0.0:32775
當使用 -P 標記時,Docker 會隨機映射一個 49000~49900 的端口到內部容器開放的網絡端口,nginx 映射的端口固定為32774 和 32775。
查看訪問日志:
[root@sta2 docker]# docker logs -f mynginx
使用 -p(小寫的)則可以指定要映射的端口,并且,在一個指定端口上只可以綁定一個容器,-p 標記可以多次使用來綁定多個端口。支持的格式有 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 。
可以使用 hostPort:containerPort 映射所有接口地址:
# docker run -d -p 5000:5000 --name mydocker nginx
此時默認會綁定本地所有接口上的所有地址。 可以使用 ip:hostPort:containerPort 格式指定映射使用一個特定地址,映射到指定地址的指定端口
# docker run -d -p 127.0.0.1:5000:5000 --name mydocker nginx
使用 ip::containerPort 綁定 localhost 的任意端口到容器的 5000 端口,本地主機會自動分配一個端口。映射到指定地址的任意端口:
# docker run -d -p 127.0.0.1::5000 --name mydocker nginx
docker 做端口映射時會生成 iptables 規則,端口映射前的 iptables 規則:
端口映射后的 iptables 規則:
此模式使用主機的網絡
# docker run -it --name feiyu-host --net=host busybox sh
這種模式下與其他容器共享一個網絡
# docker run -it --name feiyu-con --net=container:feiyu busybox sh
這種模式只能訪問本地網絡,沒有外網。
“docker網絡怎么配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。