Режим роя Docker | telnet: не удается подключиться к удаленному хосту: хост недоступен - PullRequest
0 голосов
/ 08 января 2019

В AWS EC2 при попытке подключения к частному экземпляру RDS из контейнера Swarm. Это не изнутри контейнера, но хорошо работает с хоста. У меня есть один мастер и настройка узла -

bash-4.3# telnet mydb.cd1xokc1nbn4.ap-southeast-1.rds.amazonaws.com 5432
telnet: can't connect to remote host (10.0.2.3): Host is unreachable
bash-4.3# exit

ubuntu@ip-10-0-2-157:~/metabase$ telnet mydb.cd1xokc1nbn4.ap-southeast-1.rds.amazonaws.com 5432
Trying 10.0.2.3...
Connected to mydb.cd1xokc1nbn4.ap-southeast-1.rds.amazonaws.com.
Escape character is '^]'.

Я совершенно уверен, что это что-то связанное с сетями в Swarm, так как если я сделаю docker run, я смогу подключиться к БД.

Версия Docker -

Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:49:01 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:16:44 2018
  OS/Arch:          linux/amd64
  Experimental:     false

1 Ответ

0 голосов
/ 08 января 2019

Мне удалось заставить его работать, используя режим сети хоста.

    .......
    networks:
      - metabase

networks:
  metabase:
    external:
      name: "host"

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

...