如何连接到在docker中运行的postgres实例?

时间:2020-03-09 03:38:46

标签: postgresql docker docker-compose

更新1 需要运行以下内容:

root@8809a5d5cf76:/# psql -U x2 -d y2 --password

postgres开始docker-compose.yaml

version: '3.1'

services:

  db:
    image: postgres:10.12
    restart: always
    volumes:
      - ~/work/docker/volumes/postgres:/var/lib/postgresql/data
  environment:      
    POSTGRES_USER: x2
    POSTGRES_PASSWORD: password1
    POSTGRES_DB: y2
  ports:
    - 5432:5432

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8809a5d5cf76        postgres:10.12      "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds        0.0.0.0:5432->5432/tcp              thebook_db_1

尝试这样连接:

$ docker exec -it thebook_db_1 bash
root@8809a5d5cf76:/# psql -U x2
psql: FATAL:  database "x2" does not exist

POSTGRES_USER中的docker-compse有什么问题?

2 个答案:

答案 0 :(得分:0)

运行psql时,请尝试使用-d开关指定数据库名称:

psql -U x2 -d y2

答案 1 :(得分:0)

POSTGRES_USER中的docker-compose应该很好。您的psql命令需要指定您要连接的数据库的名称,在示例中为y2

这可以通过以下命令完成:

psql -U x2 y2