docker 使用PhpStorm连接Postgres容器

zf9nrax1  于 2023-06-05  发布在  Docker
关注(0)|答案(3)|浏览(269)

我想从PhpStorm访问我的Postgres数据库(Docker容器)。
docker-compose.yml

# Run docker-compose build
# Run docker-compose up
# Live long and prosper

version: '3.1'
services:
  apache:
    build: .docker/apache
    container_name: sf-apache
    ports:
      - 82:80
    volumes:
      - .docker/config/vhosts:/etc/apache2/sites-enabled
      - ${SYMFONY_APP}:/home/wwwroot/sf3
    depends_on:
      - php

  postgres:
    container_name: postgres
    restart: always
    image: 'postgres:12.6'
    ports:
      - "5432:5432"
    environment:
      - "POSTGRES_USER=${PGSQL_ADMIN_USER}"
      - "POSTGRES_PASSWORD=${PGSQL_ADMIN_PASSWORD}"
    volumes:
      - ./API/var/postgres:/var/lib/postgresql/data
      - .docker/postgresql/init-database.sh:/docker-entrypoint-initdb.d/init-database.sh

我的PhpStorm配置:

我可以通过docker exec -it postgres bash访问数据库

kqlmhetl

kqlmhetl1#

如果php storm在同一台主机上,则需要使用localhost。如果phpstorm和pg都是同一个compose文件的一部分,那么您将使用服务名,因为它们都在同一个虚拟网络中

wlwcrazw

wlwcrazw2#

我找到解决办法了。
我有一个本地的Postgres和一个带有Docker的Postgres。我的本地Postgres在我的Docker Postgres上占了上风。我已经杀死了服务,并将容器服务名称放在上面。
完美的工作。
谢谢你的帮助

webghufk

webghufk3#

在数据库容器上的PhpStorm中点击鼠标右键检查容器,搜索真实的的端口名为HostPort。
在PhpStorm配置中输入真实的的HostPort并开始工作

显示这篇文章下面的附加信息的
https://www.jetbrains.com/help/idea/running-a-dbms-image.html#connect_to_psql
这是一个liftle有点困惑,我搜索自己小时了解,端口设置在docker-compose文件只为内部连接从pdo-driver。对于从外部连接到容器,您需要HostPort-

相关问题