埠對映實現容器訪問
1. 從外部訪問容器應用:
在啟動容器的時候,如果不指定對應引數,在容器外部是無法通過網路來訪問容器內的網路應用和服務的。
當容器中執行一些網路應用,要讓外部訪問這些應用時,可以通過-p
或-p
引數來指定埠對映。
當使用-p
(大寫的)標記時,docker會隨機對映乙個49000~49900的埠到內部容器開放的網路埠。
-p
則可以指定要對映的埠,並且,在乙個指定埠上只可以繫結乙個容器。支援的格式有:
ip:hostposrt:containerport
ip::containerport
hostport:containport
使用hostport:containerport格式本地的5000埠對映到容器的5000埠:
docker run -d -p 5000:5000 ...
使用ip::containerport繫結localhost的任意埠到容器的5000埠,本地主機會自動分配乙個埠:
docker run -d -p 127.0.0.1::5000 ...
還可以使用udp標記來指定udp埠:
docker run -d -p 127.0.0.1:5000:5000/udp ...
5. 檢視對映埠配置:
使用dokcer port 來檢視當前對映的埠配置,也可以檢視到繫結的位址。
互聯機制實現便捷互訪
容器的互聯(linking)是一種讓多個容器中的應用進行快速互動的方式。它會在源和接收容器之間建立連線關係,接收容器可以通過容器名快速訪問到容器,而不用指定具體的ip位址。
第一步:自定義容器命名
使用--name
自定義乙個好記的容器名。
比如:docker run -d --name db ....
第二步:容器互聯
使用--link引數
,格式為--link name:alias
,name是要鏈結的容器的名稱,alias是別名。
docker run -d -p --name web --link db:db ....
可以看到自定義命名的容器: db和web,db容器的names列有db也有web/db。這表示web容器鏈結到db容器,web容器將被允許訪問db容器的資訊。
docker相當於在兩個互聯的容器之間建立了乙個虛機通道,而且不用對映它們的埠到宿主主機上。在啟動db容器的時候並沒有使用-p和-p標記,從而避免了暴露資料庫服務埠到外部網路上。
docker 埠對映與容器互聯
在啟動容器時,如果不指定引數,外部網路無法訪問容器。當容器執行一些網路應用,需要用外部網路訪問,可以使用 p或 p引數指定對映埠。使用docker port來檢視埠情況。互聯系統基於容器名字,所以要合理定義容器的名字。建立容器的時候使用 name來指定名字。注意 容器名字唯一 docker run ...
Docker 埠對映與容器互聯
在實踐中,經常會碰到需要多個服務元件容器共同協作的情況,這往往需要多個容器之間能夠互相訪問到對方的服務。docker 除了通過網路訪間外,還提供了兩個很方便的功能來滿足服務訪問的基本需求 乙個是允許對映容器內應用的服務埠到本地宿主主機 另 乙個是互聯機制實現多個容器間通過容器名來快速訪問。在啟動容器...
Docker學習 九 埠對映與容器互聯
docker提供了兩個很方便的功能來滿足服務訪問的基本需求 1 允許對映容器內應用的服務埠到本地宿主主機 2 互聯機制實現多個容器間通過容器名來快速訪問 1 從外部訪問容器應用 要讓外部訪問這些應用時,可以通過 p或 p引數來指定埠對映 當使用 p標記時,docker會隨機對映乙個49000 499...