docker暴露端口、端口映射

前言

在一次面试中,面试官问:docker 暴露一个端口,该怎么做?
一脸蒙,不知道怎么操作的。
参考文章

  1. 网络端口映射
  2. 为docker容器暴露端口

1. docker暴露端口、端口映射

1.1 iptables

  • 获得容器 IP
docker ps
# [container_name]为docker容器名称
docker inspect [container_name] | grep IPAddress
  • iptables 转发端口
# 本地主机的端口8001上暴露容器的端口8000
iptables -t nat -A DOCKER -p tcp -dport 8001 -j DNAT --to-destination 192.169.1.1:8000

1.2 -p、-P

使用 -p 标识来指定容器端口绑定到主机端口。

两种方式的区别是:

  • -P :是容器内部端口随机映射到主机端口。
  • -p : 是容器内部端口绑定到指定的主机端口

操作步骤:

  • docker ps 查看当前容器
  • docker run -d -p [ip 地址:端口] 容器名
docker run -p <host_port>:<container_port>
  • docker ps 查看映射情况

2. 总结

  • docker ps 的使用
  • docker inspect | grep IPAddress 的含义
  • iptable 的使用
  • -p 、-P

你可能感兴趣的:(Linux工具和应用,Ubuntu,工具,运维学习,docker,iptables)