无法使用 podman 公开端口

Sha*_*lor 6 networking podman

我正在尝试浏览一个在 docker/podman 容器实例中启动应用程序的教程。

我尝试使用 -p port:port 和 --expose port 但似乎都不起作用。

我已使用 ss -an 确保看到端口处于侦听状态。

我已确保没有其他任何东西试图绑定到该端口。

无论我做什么,我都无法访问 localhost:port 或 ip_address:port。

我觉得我从根本上错过了一些东西,但不知道下一步该去哪里。

任何有关尝试的建议或要审查的文档将不胜感激。

谢谢,

肖恩

Vas*_*ian 13

暴露:(参考

Expose 告诉 Podman 容器请求打开该端口,但不会转发它。当且仅当还指定了 --publish-all 时,所有暴露的端口都会转发到主机上的随机端口

根据 Containerfile 的 Redhat 文档,

EXPOSE表示容器在运行时监听指定的网络端口。EXPOSE指令仅定义元数据;它不会使端口可从主机访问。podman run 命令中的 -p 选项公开来自主机的容器端口。

要指定端口号,

podman run 命令中的 -p 选项公开来自主机的容器端口。

例子:

podman run -d -p 8080:80 --name httpd-basic quay.io/httpd-parent:2.4
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,端口#80是容器侦听/公开的端口号,我们可以通过端口#8080从容器外部访问它