Skip to content

Docker端日映射

为什么需要端口映射

  • 外部机器访问docker容器的应用,需要解决2个问题
    • 外部机器能够成功连接docker容器
    • 外部机器能够访问docker容器的端口

实现端口映射

docker run -p [宿主机服务端口:]容器服务端口

注意:"宿主机服务端口:"部分若省略,宿主机会采用随机端口号和容器端口完成映射

查看端口映射

docker port 容器 #查看指定容器的端口映射 docker ps -a #查看所有容器的端口映射

修改端口映射

  • 首先,停止docker服务

  • 修改"hostconfig.json'

    • Linux 存放位置如下

      • cd /var/lib/docker/containers/容器ID
      • vim hostconfig.json
      • 搜索PortBindings
    • Mac 存放位置如下

      • cd /Users/rh/Library/Containers/com.docker.docker/Data/vms/0/data

防火墙问题

放行端口

bash
firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload

停止关闭

bash
systemctl stop firewalld
systemctl disable firewalld