本章講解docker的網路功能,包括埠對映機制將容器內應用服務提供給外部網路,以及通過容器互聯系統讓多個容器之間映象快捷的網路通訊。
1. 埠對映實現訪問容器
從外部訪問容器應用
當容器執行一些網路應用,要讓外部訪問這些應用時,可以通過 -p 或 -p 引數來指定埠對映。
當使用 -p 標記時,docker會隨機對映乙個49000~49900的埠至容器內部開放的網路埠。
-p (小寫)則可以指定要對映的埠,且在乙個指定埠上只可以繫結乙個容器。支援的格式有:ip:hostport:containerport | ip::containerport | hostport:containerport
對映所有介面位址
使用 hostport:containerport 格式將本地的5000埠對映到容器的5000埠。
此時缺省會繫結本地所有介面上的所有位址。
多次使用 -p 標記可以繫結多個埠。
對映到指定位址的指定埠
對映到指定位址的任意埠
檢視對映埠配置
容器有自己的內部網路和ip位址(使用docker inspect+容器id可獲取所有的變數值)。
2.容器互聯實現容器間通訊
容器連線系統會在源和接收容器之間建立乙個隧道,接收容器可以看到源容器指定的資訊。
自定義容器命名
連線系統依據容器的名稱來執行。
建立容器是,系統缺省會分配乙個名字,但自定義命名容器有兩個好處:
* 自定義命名,比較好記
* 當要連線其他容器時,可作為乙個有用的參考點。
使用 –name 標記可為容器自定義命名
使用docker ps或docker inspect 檢視容器的名字。
注意:容器的名稱是唯一的。當要使用乙個已經使用過的名稱時,需要先用docker rm 來刪除之前建立的同名容器。
注意:執行docker run時,--rm
和 -d 引數不能同時使用。
容器互聯
使用--link
引數可以讓容器之間安全的進行互動。
引數格式:--link name:alias
,其中name是要鏈結的容器的名稱,alias是這個連線的別名。
docker 通過兩種方式為容器公開連線資訊:
* 環境變數。
* 更新/etc/hosts檔案。
使用 env 命令可檢視容器的環境變數。
使用者可以連線多個子容器到父容器。
fedora 6網路配置
linux 提供了絕大多數的網絡卡驅動 大多數情況下不需要安裝網絡卡驅動 直接配置網路引數如 ip,dns 等就行了 網絡卡驅動程式的存放位置 lib modules uname r kernel drivers net 其中uname r 命令可得核心版本號 1.檢視核心是否已支援網絡卡 dmes...
CentOS 6網路配置
常見的網路裝置lo 回環裝置 eth0 系統內第一塊乙太網卡 ppp0 系統內第乙個序列裝置 多數出現在使用adsl撥入internet時 centos 6 配置網絡卡時有4種配置方式,可以跟據自己情況選擇合適的一種 這裡以centos 6.2為例,網絡卡以eth0為例 一 圖形介面配置方式 開啟 ...
docker技術學習總結(5) 網路基礎配置
啟動容器時,如果不加指定引數,在容器外是不能通過網路訪問容器內的網路應用和服務的。可以通過 p和 p引數來指定埠對映讓外部訪問,當使用 p時,會隨機對映乙個埠至容器內部開放的網路埠 docker ps l,檢視到本地主機的32772埠被對映到了容器的5000埠,訪問宿主機的32772埠即可訪問容器內...