Docker 埠對映與容器互聯

2021-10-23 20:32:02 字數 1393 閱讀 2947

埠對映實現容器訪問

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...