文章目录
宿主机访问容器
宿主机随机端口映射容器所有端口
-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端口映射