【问题标题】:Docker - how to setup connection to container to localhostDocker - 如何设置到容器到 localhost 的连接
【发布时间】:2016-03-15 12:26:31
【问题描述】:

我在我的 OS X 上使用 Docker。

目前我正在使用 ip.address.received.from.docker:8080 连接到我的容器:

docker run  -d -p 8080:80 -p 2022:22

如何将 localhost:8080 设置为转发到 ip.address.received.from.docker:8080 以便我可以使用 localhost 而不是 ip 地址?

【问题讨论】:

标签: docker


【解决方案1】:

问题

如何将 dockerized 服务绑定到本地套接字?


解决方案

根据文档,--publish 选项的格式为:ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort。 因此,如果你想绑定到 localhost,你可以使用 -p 127.0.0.1:8080:8080 就完成了。

这是使用以下命令测试的:docker run -p 127.1.2.3:9080:9080 --rm -it debian 运行 netcat 监听端口 9080。


奖金

顺便说一句,我猜你根据-p 2022:22 选项在你的容器中运行sshd。我想点this article made by a Docker engineer that worth the reading

玩得开心!

【讨论】:

  • 这在 OS X 上不起作用...知道为什么吗?我做了-p 127.0.0.1:8080:80
  • “没有用”是什么意思?任何错误信息?有日志吗?任何可以帮助您(和我)了解为什么它不起作用的东西。你在使用虚拟机吗?
  • 我将 Docker 与 Ubuntu + Apache 容器一起使用。使用 Safari 浏览到 127.0.0.1:8080 时,我收到:Safari can't open the page because Safari can't connect to server 127.0.0.1
  • 请显示您的docker run 命令,当您的容器运行时nc 127.0.0.1 8080 的输出是什么?
  • docker run -d -p 127.0.0.1:8080:80 -p 127.0.0.1:2022:22 -v /Users/asafnevo/Sites:/var/www -it --name="pico" pico_server
猜你喜欢
  • 1970-01-01
  • 2019-02-16
  • 2016-01-08
  • 2019-04-01
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-11
相关资源
最近更新 更多