具有DB到Docker容器的主机端口

时间:2016-02-10 22:47:58

标签: linux docker port

我有PostgreSQL和Docker容器的主机。 PostgreSQL在5432端口上工作。 Docker容器必须连接到数据库。如何通过Dockerfile或运行命令将容器与数据库连接? EXPOSE 5432docker run -p 5432:5432 ...没有帮助。

1 个答案:

答案 0 :(得分:1)

来自documentation页面:

  

有时你需要从你的内部连接到Docker主机   容器。要启用此功能,请将Docker主机的IP地址传递给   容器使用--add-host标志。要查找主持人的地址,请使用   ip addr show命令。

$ HOSTIP=`ip -4 addr show scope global dev eth0 | grep inet | awk '{print \$2}' | cut -d / -f 1`
$ docker run  --add-host=docker:${HOSTIP} --rm -it busybox telnet docker 5432

EXPOSE-p标记以相反的方式工作,例如将容器端口发布到您不想要的主机。