在 Docker 中,-p
参数用于将容器的端口与宿主机的端口进行映射。在命令 docker run -d --name my-nginx -p 80:80 nginx
中,-p 80:80
表示将容器的 80 端口映射到宿主机的 80 端口。
可以将端口映射类比为电话号码。在这个比喻中,宿主机可以看作是一个大型电话交换机,而容器则是其中的一个电话终端。当您使用 -p
参数将容器的端口与宿主机的端口进行映射时,就像是为容器分配了一个电话号码,使得宿主机和外部系统可以通过这个号码与容器进行通信。
具体到上述的命令,当您在浏览器中访问 http://localhost
或 http://127.0.0.1
时,就相当于向宿主机的 80 端口拨打电话。而宿主机会将这个电话连接到容器内运行的 Nginx 服务,因此您可以在浏览器中看到 Nginx 的欢迎页面。
总结起来,通过端口映射,您可以将容器内部的服务暴露给宿主机和外部系统,使得宿主机可以转发来自外部的请求到容器内运行的服务。这样就可以在宿主机上使用熟悉的端口号(如 80)来访问容器中的服务。