Подключение к экземпляру postgres, работающему через докер на моем сервере Ubuntu - PullRequest
0 голосов
/ 27 сентября 2019

Как я могу подключиться к своему экземпляру postgresql, когда я запускаю его через docker.

В моем docker-compose у меня есть образ, определенный следующим образом:

db:
    image: postgres:9.4
    #container_name: db
    volumes:
      - "/home/data/pgdata:/var/lib/postgresql/data"
    restart: always

Я установилтолько клиент:

sudo apt-get install -y postgresql-client

Я установил psql-клиент в Ubuntu и пытаюсь подключиться к нему, но не могу подключиться успешно.

psql -h db -p 5432 -U postgres

psql: не удалось перевести имя хоста "db" в адрес: временный сбой в разрешении имени

Я пробовал разные хосты, такие как localhost, 127.0.0.1 и docker_db_1и все они не работали.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Похоже, ОС не может преобразовать имя хоста db в IP-адрес.Вам может понадобиться добавить hostname: db в ваш docker-compose.yml файл

0 голосов
/ 27 сентября 2019

Вы не опубликовали ни один порт, поэтому вы не сможете подключиться с хоста.Вам нужно опубликовать порт для подключения контейнера с вашего хост-компьютера.

db:
  image: postgres:9.4
  container_name: db
  ports:
    - "5432:5432"

Кроме того, вы должны использовать localhost, если вы пытаетесь подключиться с хоста, БД доступна только в сети, входящей в состав Docker

psql -h 127.0.0.1 -p 5432 -U postgres

или вы также можете проверить внутри контейнера

db:
    image: postgres
    container_name: db
    ports:
      - "5432:5432"

, чтобы проверить соединение с установкой клиента на хост

docker exec -it db bash -c "psql -U postgres"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...