下面我来详细讲解一下“Docker学习笔记之Docker端口映射”的完整攻略。
Docker端口映射
Docker 端口映射是将容器内部运行的服务暴露给外部网络的一种方式,也是 Docker 网络通信的重要一环。
Docker端口映射的两种方式
Docker 的端口映射方法大致可分为两种:
动态映射
动态映射指的是 Docker 自行映射可用的随机端口号,外部网络访问容器时需使用该端口号。
示例:
docker run -d -p 80 nginx:latest
这个命令会启动一个容器镜像为 nginx
,并将容器的 80
端口映射到宿主机的任意一个可用的端口,比如 32772
。可以使用 docker ps
命令查看容器的详细信息,如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1c5a17b27b6 nginx:latest "/docker-entrypoint.…" 3 seconds ago Up 1 second 0.0.0.0:32772->80/tcp clever_heyrovsky
可以看到,容器的 80
端口已经映射到了宿主机的 32772
端口。由于该端口是动态映射,每次启动容器的时候可能会随机分配一个新的映射端口。
静态映射
静态映射需要手动指定将容器的端口映射到宿主机的指定端口,外部网络访问容器时需使用该指定端口号。
示例:
docker run -d -p 8080:80 nginx:latest
这个命令会启动一个容器镜像为 nginx
,并将容器的 80
端口映射到宿主机的 8080
端口。可以使用 docker ps
命令查看容器的详细信息,如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1c5a17b27b6 nginx:latest "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp clever_heyrovsky
可以看出,容器的 80
端口已经映射到了宿主机的 8080
端口,即外部网络访问该容器时需使用的端口。
总结
Docker 端口映射是非常重要的容器网络通信方式,合理配置端口映射能够保证容器服务的可访问性和安全性。
以上便是本次对Docker端口映射的详细介绍,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker学习笔记之Docker端口映射 - Python技术站