Подключите удаленную базу данных, работающую с докером без опубликованного порта, с локальной машины через ключ SSH - PullRequest
0 голосов
/ 14 мая 2019

У меня есть удаленный InfluxDB, но это может быть любая база данных, проблема останется такой же.

На моей удаленной машине InfluxDB работает с докером с такой конфигурацией:

enedis_influxdb:
    container_name: enedis_influxdb
    image: influxdb:1.7.6
    volumes:
      - "./influxDB/influxdb.conf:/etc/influxdb/influxdb.conf:ro"
      - "/mnt/data/enedis/influxdb/data:/var/lib/influxdb/"
    networks:
      - enedis

Итак, локально, мой API должен быть подключен к докерской сети «enedis» для доступа к базе данных, т.е. API и база данных должны работать на одном компьютере / кластере

У меня есть клиент с графическим интерфейсом для притока на локальном компьютере, Я подключаюсь через SSH с ключом, но тогда я не могу понять, возможно ли получить доступ к БД.

URL: dev.influx.company.fr
Docker network name: enedis_influxdb
Port use in docker: 8086 

Примечание: я не хочу публиковать порт 8086 публично из соображений безопасности

1 Ответ

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

Хотя вы не хотите публиковать порт 8086 на своей удаленной машине, это самое простое решение, которое я вижу здесь. Если вы используете брандмауэр (например, ufw), то это не должно быть проблемой безопасности.

Здесь вы можете найти отличный учебник о том, как настроить ufw, который гораздо более детален по сравнению с тем, что я мог бы предоставить здесь.

Как уже упоминалось в шаге 3, убедитесь, что вы разрешите (как минимум) трафик через порт SSH, в противном случае вы выйдете из строя.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...