版權聲明:原創作品,謝絕轉載!否則將追究法律責任。 ————— 作者:kirin
什么是端口映射?
端口映射是NAT的一種,功能是把在公網的地址轉翻譯成私有地址
端口映射的使用場景:
通過互聯網來訪問公司內部服務的時候,就會需要用到端口映射

docker run不用配置宿主機的iptables規則,-p參數直接做映射。
-p 宿主機端口:容器端口 (最常用的寫法、不加的話默認是隨機端口。)
[root@docker01 ~]# docker run -d -it -p 80:80 nginx:latest

-p 宿主機ip1:宿主機端口:容器端口 (多個容器同時使用80端口)
[root@docker01 ~]# docker run -d -p 127.0.0.1:90:80 nginx:latest

[root@docker01 ~]# docker run -d -p 127.0.0.1:90:80 nginx:latest

應用場景:
一般宿主機會有多塊網卡,每塊網卡都可以有一個ip地址
添加一塊網卡:
[root@docker01 ~]# ifconfig eth0:1 10.0.0.10/24 up

[root@docker01 ~]# docker run -d -p 10.0.0.10:80:80 nginx:latest
[root@docker01 ~]# docker run -d -p 10.0.0.11:80:80 nginx:latest

-p 宿主機ip1::容器端口 隨機端口映射
[root@docker01 ~]# docker run -d -p 10.0.0.11::80 nginx:latest

-p 81:80 -p 1022:22
[root@docker01 ~]# docker run -d -it -p 100-110:90-100 centos:7

-P(大寫的) 自動隨機端口映射
[root@docker01 ~]# docker run -d -it -P nginx:latest

