не удается подключиться к postgres в ipv6 с помощью docker

#postgresql #docker #networking #ubuntu-20.04 #netplan

#postgresql #docker #сеть #ubuntu-20.04 #netplan

Вопрос:

Мой сценарий следующий: у меня установлен postgres 12 на сервере Ubuntu 20.04, а контейнер docker запущен на другом хосте с включенным ipv6.

Я не могу связаться с сервером postgres из контейнера docker, используя ipv6.

эти команды работают из контейнера:

 $ ping POSTGRES_SERVER_IPv4
$ ping POSTGRES_SERVER_IPv6
$ telnet POSTGRES_SERVER_IPv4 5432
  

но это не работает изнутри контейнера (но это работает с хоста docker):

 $ telnet POSTGRES_SERVER_IPv6 5432
  

я уже установил listen_address = ‘*’ и «разместить все все md5» в postgres pg_hba.conf.

Редактировать:

я понял, что мой сетевой адаптер использует два IPv6, статический, который я определил в netplan, и другой, который находится в пределах моего сетевого диапазона, но я его не назначал.

Комментарии:

1. Можете ли вы связаться с сервером postgres с другого компьютера (не с docker)?

2. «Прежде чем вы сможете использовать IPv6 в контейнерах Docker или службах swarm, вам необходимо включить поддержку IPv6 в демоне Docker.» … docs.docker.com/config/daemon/ipv6

3. Да, я могу @Turing85.

4. Это уже включено @MarcSances.

Ответ №1:

В вашей конфигурации netplan попробуйте добавить:

принять-ra: нет

пример:

 network:
  version: 2
  ethernets:
    ens192:
      accept-ra: no
      addresses: ...
  

Комментарии:

1. спасибо, это решено. по-видимому, мой адаптер получал другой ipv6 от моего RA, но любопытно, что проблема возникала только внутри контейнера docker или с использованием putty (ssh).