首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker Compose + Postgres:公开端口

Docker Compose + Postgres:公开端口
EN

Stack Overflow用户
提问于 2018-09-29 10:03:02
回答 2查看 11.6K关注 0票数 12

我目前正在尝试使用Docker为我的新Django/Postgres项目。我正在开发一台Mac电脑,通常使用Postico快速连接到我的数据库。

我以前经常在这里联系:

我使用正式的码头文档来设置停靠-撰写。我现在有一个问题,我不能通过Postico连接到postgres db。在我看来,这个问题似乎是因为港口没有暴露出来。

代码语言:javascript
复制
version: '3'

services:
  db:
    image: postgres
  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-29 11:24:40

只需将端口映射到主机,将其添加到撰写文件中的db服务:

代码语言:javascript
复制
ports:
  - "5432:5432"

还要确保在撰写文件中设置postgres密码变量,如下所示

代码语言:javascript
复制
environment:
  POSTGRES_PASSWORD: example

默认用户是postgres,您可以使用POSTGRES_USER变量更改它。

您可以在这里阅读有关图像使用的所有选项:/postgres/

票数 10
EN

Stack Overflow用户

发布于 2021-03-06 17:16:27

默认情况下,Compose为您的应用程序设置一个网络。

可以通过撰写文件中服务的名称访问每个容器。

在您的情况下,您不需要向主机公开端口,您的web应用程序才能访问它。您可以简单地使用db作为postgres的主机名(端口的5432 )来自运行在相同组合中的任何其他服务。

实际上,在docker撰写文档中提供了一个非常类似的示例:https://docs.docker.com/compose/networking/

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

https://stackoverflow.com/questions/52567272

复制
相关文章

相似问题

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