Docker第六篇-Docker端口映射

宿主机访问容器

宿主机随机端口映射容器所有端口

-P,宿主机会随机指定端口来映射nginx容器内的所有端口

docker run -tid -P nginx /bin/bash

宿主机随机端口映射容器指定端口

-p containerPort,宿主机会随机指定端口来映射nginx容器内的80端口

docker run -tid -p 80 nginx /bin/bash

宿主机指定端口映射容器指定端口(常用)

-p hostPort:containerPort,宿主机指定8080端口来映射nginx容器内的80端口

docker run -tid -p 8080:80 nginx /bin/bash

宿主机随机端口映射容器指定IP、指定端口

-p containerIp::containerPort,宿主机随机端口映射指定IP(172.0.0.11)、指定端口80的nginx容器

docker run -tid -p 172.0.0.11::80 nginx /bin/bash

宿主机指定端口映射容器指定IP、指定端口

-p containerIp:hostPort:containerPort,宿主机指定端口8080映射指定IP(172.0.0.11)、指定端口80的nginx容器

docker run -tid -p 172.0.0.11:8080:80 nginx /bin/bash

容器访问容器

  • 新建网络

    docker network create -d bridge my-net
    

    -d参数指定docker网络类型,有bridge、overlay。bridge是桥接类型,常用,overlay网络类型适用于Swarm mode模式。my-net为自定义的网络名称。

  • 连接容器
    运行两个容器,并连接到创建好的网络my-net

docker run -tid --rm -p 127.0.0.1:80:80 --name nginx1 --network my-net nginx
docker run -tid --rm -p 127.0.0.1:8080:8080 --name nginx2 --network my-net nginx

进入任意一台容器,ping对方的IP

查看容器端口

命令:

docker port [容器ID]  #查看指定容器的所有端口映射
docker port [容器ID] 80  #查看指定容器的80端口映射

猜你喜欢

转载自blog.csdn.net/supermao1013/article/details/83054562