docker提供了兩個很方便的功能來滿足服務訪問的基本需求:
1、允許對映容器內應用的服務埠到本地宿主主機
2、互聯機制實現多個容器間通過容器名來快速訪問
1、從外部訪問容器應用
要讓外部訪問這些應用時,可以通過-p或-p引數來指定埠對映
當使用-p標記時,docker會隨機對映乙個49000 ~ 49900的埠到內部容器開放的網路埠
docker run -d -p --name :
當使用-p標記時,可以指定要對映的埠,並且,在乙個指定埠上只可以繫結乙個容器,支援的格式有
2、對映所有介面位址
使用hostport : containerport格式將本地的5000埠對映到容器的5000埠,此時缺省會繫結本地所有介面上的所有位址
docker run -d -p 5000:5000 --name :
多次使用-p標記可以繫結多個埠
docker run -d -p 5000:5000 -p 3000:80 --name :
3、對映到指定位址的指定埠
可以使用ip : hostport : containerport格式指定對映使用乙個特定位址
docker run -d -p 127.0.0.1:5000:5000 --name :
4、對映到指定位址的任意埠
使用ip : : containerport繫結localhost的任意埠到容器的指定埠(5000),本地主機會自動分配乙個埠
docker run -d -p 127.0.0.1::5000 --name :
還可以使用udp標記來指定udp埠
docker run -d -p 127.0.0.1:5000:5000/udp --name :
5、檢視對映埠配置第
一、檢視容器所有的對映埠
docker port
第二、檢視容器指定埠的對映埠
docker port
容器的互聯(linking)是一種讓多個容器中應用進行快速互動的方式,它會在源和接收容器之間建立連線關係,接收容器可以通過容器名快速訪問到源容器,而不用指定具體的ip位址
1、容器互聯
使用--link引數可以讓容器之間安全的進行互動 (前提需要生成乙個源容器,其他容器快速訪問)
docker run -it --link name:alias --name :
[ --link name:alias ] : 其中name是要連線的容器名稱,alias是這個連線的別名
進入其他容器,直接ping 源容器名稱,會解析成源容器的ip位址,則可以檢查是否link連線成功,上圖可見已經成功訪問源容器
docker 埠對映與容器互聯
在啟動容器時,如果不指定引數,外部網路無法訪問容器。當容器執行一些網路應用,需要用外部網路訪問,可以使用 p或 p引數指定對映埠。使用docker port來檢視埠情況。互聯系統基於容器名字,所以要合理定義容器的名字。建立容器的時候使用 name來指定名字。注意 容器名字唯一 docker run ...
Docker 埠對映與容器互聯
在實踐中,經常會碰到需要多個服務元件容器共同協作的情況,這往往需要多個容器之間能夠互相訪問到對方的服務。docker 除了通過網路訪間外,還提供了兩個很方便的功能來滿足服務訪問的基本需求 乙個是允許對映容器內應用的服務埠到本地宿主主機 另 乙個是互聯機制實現多個容器間通過容器名來快速訪問。在啟動容器...
Docker 埠對映與容器互聯
埠對映實現容器訪問 1.從外部訪問容器應用 在啟動容器的時候,如果不指定對應引數,在容器外部是無法通過網路來訪問容器內的網路應用和服務的。當容器中執行一些網路應用,要讓外部訪問這些應用時,可以通過 p或 p引數來指定埠對映。當使用 p 大寫的 標記時,docker會隨機對映乙個49000 49900...