Запуск GeoNode с помощью docker-compose - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь запустить GeoNode на VPS и выставить его в Интернет, используя docker-compose.

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

Итак, что такое хорошая настройка для запуска GeoNode на одной машине с Ubuntu с помощью docker-compose?

Хотя я раньше играл с докером, я довольно новичок в этом, так что я, вероятно, просто неправильно что-то понял.

1 Ответ

0 голосов
/ 23 марта 2019

Если вы хотите запускать GeoNode только на vps и больше ничего, вы можете просто открыть порт 80 geonode/nginx:geoserver из файла компоновки Docker, который вы связали.Способ установки базы docker-compose.yml в репо заключается в том, что она будет предоставлять порт 80 из контейнера на хосте - почти так же, как если бы вы запускали nginx или apache для прослушивания порта 80 на всех интерфейсах этогосервер.После этого вы сможете подключаться с клиентов, используя публичный IP-адрес с vps.

Если вы хотите запускать несколько разных сервисов на одном хосте с помощью docker-compose, вам понадобится какой-топрокси для «маршрутизации» разных поддоменов в разные контейнеры.Вы можете добиться этого с помощью классического nginx, установленного на самом vps, или с помощью чего-то вроде этого образа .Для «классического» способа с nginx вам необходимо внести некоторые изменения в конфигурацию ports файла docker-compose.yml, чтобы открыть порт только на хосте.Примерно так:

...
  geonode:
    image: geonode/nginx:geoserver
...
    ports:
      - "127.0.0.1:8081:80"
...

Это сделает порт 80 внутри контейнера доступным через порт 8081 на хосте, но только на локальном интерфейсе.Затем вам понадобится что-то вроде nginx, чтобы прокси-запрос от внешнего мира на 127.0.0.1:8081.

Если вы не настроили его иначе, демон docker прослушивает локальный сокет, а не ip, поэтомубезопасно открыть порт из образа докера «внешнему миру».

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