微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 IP 地址访问本地 docker 容器

如何解决无法使用 IP 地址访问本地 docker 容器

我在我的 Mac 系统上本地运行一个 docker 容器。我在这文章底部粘贴了 Dockerfile 的内容。我在图像中暴露了端口 8888,我想使用 container-ip-address:8888 从我的主机浏览器访问 python 程序。但是,它没有连接。将它映射到本地主机上的端口是可行的,但我不想这样做。我该如何解决这个问题? (已经尝试创建一个 docker 网络并将容器作为新网络的一部分运行 - 没有骰子)。任何帮助将非常感激。 Dockerfile 内容 -

=ARRAYFORMULA(MOD(ROW(A2:A)-2,6)+1)

解决方法

Expose 只是告诉 docker 这个容器将使用这个端口。它不会将它映射到任何地方。 https://docs.docker.com/engine/reference/builder/#expose

映射是运行容器的代码任务。在本地机器的情况下,它是一个码头工人。如果您不在 docker run 中映射端口,则无法从 docker 网络外部访问容器。同时你的主机不在docker网络中。如果您手动创建 docker 网络,情况也是如此 - 您的机器只是无法访问它的内部部分。

换句话说,您必须选择自己的方式:

  • 在执行 docker run(本地开发)时使用 -p ....
  • 或者如果您使用 docker composer(主要是本地开发),则在 docker compose 文件中定义它。当您在 docker 中运行多个通信系统时,这种方法非常有用。
  • 或者,如果您使用解决方案进入 kubernetes(使用编排器/自动缩放器等进行生产),则通过生产中的 kubernetes yaml 定义文件来完成

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。