Docker - псевдоним DNS-записи (CNAME) для служб - PullRequest
0 голосов
/ 06 декабря 2018

Настройка проблемы:

  • Docker Swarm
  • 3 службы запущены: service-something и service-another и service-database
  • service-something и service-another используйте service-database для хранения данных, например mongodb://service-database/blahblah

Что я хочу:

Вместо mongodb://service-database/blahblah Я хочу использовать mongodb://my-special-host/blahblah

В идеале мне нужно что-то вроде CNAME, где my-special-host разрешается до service-database.Таким образом, я могу обновить эту запись один раз до service-new-database, и все мои потребительские сервисы будут использовать новую базу данных.

Я знаю, что могу сделать это, используя dnsmasq на обычном linux, но я не совсем понимаю, как использовать это в экосистеме контейнера.

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете использовать Docker Network псевдонимы опции

в вашем стеке .yml файл:

version: '3.4'
services: 
  service-database:
    image: postgres:9.5.16-alpine
    networks:
      default:
        aliases:
          - my-special-host

, если вы хотите использовать то же имя хоста с вашего хостамашина, добавьте это в файл /etc/hosts:

127.0.0.1 my-special-host

Примечание: убедитесь, что порты для использования базы данных извне

...