docker端口映射


docker容器在啟動的時候,如果不指定端口映射參數,在容器外部是無法通過網絡來訪問容器內的網絡應用和服務的。

端口映射通過-P和-p參數來實現

一、-P將容器內部開放的網絡端口隨機映射到宿主機的一個端口上;

二、-p指定要映射的端口,一個指定端口上只可以綁定一個容器;支持的格式如下:

IP:HOSTPORT:CONTAINERPORT:指定ip、指定宿主機port、指定容器port

  • 適用於映射到指定地址的指定端口
    eg:將容器的5000端口映射到指定地址127.0.0.1的5000端口上:
docker run -it -d -p 127.0.0.1:5000:5000 docker.io/centos:latest /bin/bash

IP::CONTAINERPORT:指定ip、未指定宿主機port(隨機)、指定容器port

  • 適用於映射到指定地址的任意端口
    eg:將容器的4000端口映射到127.0.0.1的任意端口上:
docker run -it -d -p 127.0.0.1::4000 docker.io/centos:latest /bin/bash


注:會將容器的ip127.0.0.1和4000端口,隨機映射到宿主機的一個端口上。

HOSTPORT:CONTAINERPORT :未指定ip、指定宿主機port、指定容器port

  • 適用於將容器指定端口指定映射到宿主機的一個端口上(映射所有接口地址)
    eg:將容器的80端口映射到宿主機的8000端口上:
docker run -itd -p 8000:80 docker.io/centos:latest /bin/bash


注:上邊的操作默認會綁定本地所有接口上的所有地址。

映射訪問示例


將容器的80端口映射到宿主機的8000端口上,並在容器中安裝httpd服務,而后在宿主機上訪問http://IP:HOSTPORT,即訪問http://192.168.101.222:8000/,結果如下:

查看映射端口配置

命令:

docker port CONTAINER_ID


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM