首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将pact-broker docker容器连接到本地postgresql数据库?

如何将pact-broker docker容器连接到本地postgresql数据库?
EN

Stack Overflow用户
提问于 2018-03-30 02:52:36
回答 2查看 381关注 0票数 0

我的dockerfile如下:

代码语言:javascript
复制
FROM phusion/passenger-ruby24:0.9.26

ENV APP_HOME=/home/app/pact_broker/
RUN rm -f /etc/service/nginx/down /etc/nginx/sites-enabled/default
COPY container /
RUN gem update --system
# USER app

COPY pact_broker/config.ru pact_broker/Gemfile pact_broker/Gemfile.lock $APP_HOME
# Update system gems for:
# https://www.ruby-lang.org/en/news/2017/08/29/multiple-vulnerabilities-in-rubygems/
RUN gem install bundler && \
    cd $APP_HOME && bundle install --deployment --without='development test'
COPY pact_broker/ $APP_HOME/
RUN chown -R app:app $APP_HOME

EXPOSE 80
CMD ["/sbin/my_init"]

如何让这个容器使用本地安装的postgresql?

EN

回答 2

Stack Overflow用户

发布于 2018-04-01 21:04:18

从上述容器访问主机上的PostgreSQL有两种方式:

1.仅限<HOST_IP>:<PostgreSQL_PORT>上的,如果在网桥网络中启动docker容器:

代码语言:javascript
复制
docker run -d <image_name>

PostgreSQL应该绑定到<HOST_IP>0.0.0.0 (包括<HOST_IP>)。

2. <HOST_IP>:<PostgreSQL_PORT> (如果PostgreSQL绑定了<HOST_IP>0.0.0.0)和localhost:<PostgreSQL_PORT>上的,如果主机网络中启动了docker容器:

代码语言:javascript
复制
docker run --network host -d <image_name>

默认情况下,PostgreSQL绑定到localhost,因此第二种方法是一个通用的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2020-01-09 17:47:49

如果在MAC OS上-

默认情况下,Postgres在localhost上工作,如果您没有对其进行任何更改,那么它必须是localhost。

我们的案例是将Postgres与我们的pact-broker容器连接起来,这意味着一个容器将与我们的本地交互。

因此,将主机定义为"docker.for.mac.localhost“而不是"localhost”,应该是可行的。

如果您使用不同操作系统,而不是MAC和它们,您可以检查类似于windows*的"docker.for.win.localhost“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49563186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档