docker零基础第二篇 :端口映射

端口映射:

 

  1. 就是把容器的端口映射为宿主机的一个随机或者特定端口
  2. 使得外部用户可以访问容器服务
  3. 本质其实就是在底层做了iptables地址转发
  4. 出去的流量是做SNAT原地址转发
  5. 进来的流量是做DNAT目标地址转发

分为四种情况:

1.随机映射,就是把容器的端口随机映射为宿主机的一个端口 -P --publish-all
2.特定映射,映射为宿主机的特定端口 -p
3.特定映射,映射为宿主机的特定网卡的随机端口 -p
4.特定映射,映射为宿主机的特定网卡的特定端口 -p

实例:

例子1:随机映射 -P              #  -P是把容器内的所有端口随机映射为宿主机的随机端口
docker run -d -P 容器名或容器ID
(如:
docker run -d -P httpd )

 例子2:特定映射,映射为宿主机的特定端口

docker run -d -p  宿主机端口:容器端口  容器名或容器ID         #注意-p后面顺序 宿主机端口:容器端口
(如: docker run -d -p 81:80 httpd  )

例子3:特定映射,映射为宿主机的特定网卡的随机端口
docker run -d -p  网卡IP::容器端口  容器名或容器ID   
(如: 
docker run -d -p 192.168.64.5::80 httpd  )

例子4:特定映射,映射为宿主机的特定网卡的特定端口 
docker run -d -p  网卡IP: 宿主机端口:容器端口  容器名或容器ID 
(如:  docker run -d -p 192.168.64.5:82:80 httpd )

 

 

 

 

posted @ 2019-11-06 15:46  liu_memory  阅读(179)  评论(0)    收藏  举报