在 Docker 中,要让容器能够被外部访问,你需要使用端口映射(Port Mapping)或者使用主机网络模式。以下是这两种方法的简要说明:

1. 端口映射(Port Mapping):

使用端口映射可以将容器内的端口映射到主机上的一个端口,从而允许外部访问容器。这是最常见的方式。
# 在容器内部启动应用,并将容器内部的端口映射到主机的端口
docker run -d -p 8080:80 myimage

上述命令将容器内部的端口 80 映射到主机的端口 8080。现在,你可以通过访问 http://localhost:8080 或 http://<主机IP>:8080 来访问容器内的应用程序。

2. 主机网络模式:

使用主机网络模式,容器将使用主机的网络命名空间,直接共享主机的网络栈。这意味着容器的端口直接暴露给主机,可以通过主机的 IP 地址进行访问。
# 在容器内部使用主机网络模式启动应用
docker run -d --network host myimage

在这种情况下,容器内的应用程序可以通过 http://localhost:容器内部端口 直接访问,而无需进行端口映射。

注意事项:

  •  确保容器内部应用程序正在监听正确的端口,以便外部能够访问。

  •  如果你的 Docker 主机有防火墙或安全组,确保已经打开了需要访问的端口。


选择端口映射还是主机网络模式取决于你的应用程序需求和安全策略。端口映射提供了更多的隔离性,而主机网络模式可能更适合某些场景,如需要容器与主机共享网络栈的情况。


转载请注明出处:http://www.pingtaimeng.com/article/detail/10021/Docker