容器中可以運行一些網絡應用,要讓外部也可以訪問這些應用,可以通過 -P 或 -p 參數來指定埠映射。
下面我們來實現通過埠連接到一個 docker 容器。
我們創建了一個 python 應用的容器。命令如下:
# docker run -d -P training/webapp python app.py
另外,我們可以指定容器綁定的網絡地址,比如綁定 127.0.0.1。
我們使用 -P 參數創建一個容器,使用 docker ps 可以看到容器埠 5000 綁定主機埠 32768。
我們也可以使用 -p 標識來指定容器埠綁定到主機埠。
兩種方式的區別是:
-P :是容器內部埠隨機映射到主機的高埠。
-p : 是容器內部埠綁定到指定的主機埠。
另外,我們可以指定容器綁定的網絡地址,比如綁定 127.0.0.1。例如:
# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
這樣我們就可以通過訪問 127.0.0.1:5001 來訪問容器的 5000 埠。
上面的例子中,默認都是綁定 tcp 埠,如果要綁定 UDP 埠,可以在埠後
面加上 /udp。例如:
# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python
app.py
使用docker port 命令可以讓我們快捷地查看埠的綁定情況。例如:
# docker port adoring_stonebraker 5000
相關閱讀:
雲計算核心技術Docker教程:在Centos中安裝Docker
雲計算的主流容器平臺Docker架構分析
雲計算核心技術Docker教程:Docker容器使用
雲計算核心技術Docker教程: 構建web應用程式
雲計算核心技術Docker教程: Docker鏡像使用