基于 Docker18.09.0
Docker 系列文章目录
安装Docker和容器管理
Docker镜像管理
Dockerfile详解
Docker数据卷管理
Docker网络之默认网络
Docker网络之Host和none
Docker网络之自定义网络
容器端口发布
Docker 官方镜像仓库 之 Docker Hub
单机容器编排工具之 dockercompose
发布一部分容器的服务端口给外部使用
容器中可以运行一些应用,要让外部也可以访问这些应用,可以通过 -P
或 -p
参数来指定端口映射。
当使用大写的
-P
标记时,Docker 会随机映射一个物理机的49000~49900
之间的端口到内部容器开放的网络端口。
-p
则可以指定想要映射的物理机端口,并且,在一个指定端口上只可以绑定一个容器。
示例:
a. 映射指定的本地 IP 和端口到容器端口
ip:hostPort:containerPort
$ docker run -d -p 10.18.42.174:8080:80 --name mynginx2 nginx:alpine
b.映射本地指定 IP 的任意端口到容器的一个端口,本地主机会自动分配一个端口
ip::containerPort
$ docker run -d -p 10.18.42.174::80 --name mynginx3 nginx:latest
c. 映射本机的所有的地址的指定端口到容器的指定端口
hostPort:containerPort
[root@docker ~]# docker run -d -p 8000:80 nginx:latest
-p
标记还可以多次使用来绑定多个端口
例如:
$ docker run -d \
--name nginx110
-p 4430:443 \
-p 8000:80 \
nginx:alpine
查看端口映射配置信息
使用 docker port
来查看当前映射的端口配置,也可以查看到绑定的地址
格式:
docker port 容器名/容器 ID 容器的端口号
$ docker port nginx110
4430/tcp -> 0.0.0.0:443
80/tcp -> 0.0.0.0:8000
$ docker port nginx110 80
0.0.0.0:8000
$ docker port nginx110 443
0.0.0.0:4430