Docker Container работает нормально локально, экземпляр SSL Nginx не может найти приложение - PullRequest
0 голосов
/ 18 апреля 2019

Я перевожу свой личный веб-сайт в цепочку Docker и создаю Docker-Compose для интеграции Django, Postgres, Gunicorn и Nginx.У меня также есть экземпляр Nginx, работающий на моей капле Digital Ocean, чтобы разрешить SSL на сервере.

Моя проблема в том, что я добавил SSL к экземпляру Nginx на моей капле DO и не могу поместить свойДжанго сайт в интернете.Я полагаю, что это простая проблема, но я не понимаю, где хост Nginx может найти контейнер Nginx приложения.

Ниже приводится раздел компоновки Nginx

  # Nginx Configurations
  nginx:
    build:
      context: ./nginx
      dockerfile: Dockerfile_Nginx
    volumes:
      - static_volume:/usr/src/personal_website/static
    ports:
      - 2019:80
      - 443:443
    depends_on:
      - django

КогдаКонтейнер работает на моей локальной машине, я могу отобразить веб-приложение на http://localhost:2019,, что я и хочу.Однако я хочу, чтобы экземпляр Nginx на моей Droplet отображал его.

Ниже приведен файл конфигурации для веб-сайта:

upstream personal_website {
  server django:2019
}

server {
  server_name example.com www.example.com;
  listen 80;

  location / {
    proxy_pass http://personal_website;
  }
}

Я считаю, что это все, что мне нужно, правильно?

Что происходит, когда я запускаю контейнер на сервере, так это то, что у меня есть базовая страница Nginx на порту 80, которая пересылается на 443 с помощью Certbot.То, что я хочу показать, - это веб-приложение, которое доступно на порту 2019. Есть ли способ сделать это?Или мне нужно, чтобы приложение Django работало на сервере напрямую?

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