Как привязать Docker Работающий контейнер Apache к домену - PullRequest
0 голосов
/ 08 февраля 2020

Я развернул приложение на основе этого стека на AWS, где под Rout 53 установлен DNS. Я хочу указать свой домен (exampl.com) на веб-сервер (любой apache / nginx), работающий в контейнере docker. Я хочу знать, как я могу привязать домен к этому веб-серверу?

Я не уверен, что это хороший или плохой способ развертывания приложения на производстве, но это поможет мне понять.

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

, как предложил @mipnw, вы можете легко запускать свои Docker контейнеры в Amazon ECS.

Поскольку вы не используете ECS, вот как вы можете указать домен на экземпляр ec2.

  1. Назначение elasti c IP-адреса экземпляру ec2

    Ссылка: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-associate-static-public-ip/

  2. Создайте запись A в AWS Route53, чтобы указать IP-адрес elasti c.

    Ссылка: https://aws.amazon.com/premiumsupport/knowledge-center/route-53-create-alias-records/

  3. , если ваш docker предоставляет, например, порт 80 хост-машине.

    Теперь вы можете получить доступ к своему приложению через http://example.com (поскольку порт http по умолчанию - 80), для этого вам нужно включить порт 80 в группе безопасности вашего экземпляра

    Ссылка : https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/

  4. Если ваш docker предоставляет порт, например, 8080 и вы хотите получить доступ к веб-сайту через http://example.com, вам необходимо настроить прокси-сервер apache / nginx для приема трафика c через порт 80 или 443 и перенаправить запрос на порт, предоставляемый docker (в данном примере 8080)

    Ссылка: https://dev.to/kevbradwick/how-to-setup-a-reverse-proxy-to-your-host-machine-using-docker-mii

Самая сложная часть вашей настройки - это настройка SSL, вам необходимо настроить сертификат SSL внутри nginx прокси.

Надеюсь, это поможет.

0 голосов
/ 08 февраля 2020

Вам необходимо разместить ваш контейнер docker где-нибудь. Поскольку вы уже используете AWS, я бы предложил запустить ваш контейнер внутри AWS ECS .

Затем вам нужно будет открыть порт на контейнере и настроить Route53 для указания на ваш контейнер и т.д. c ... Похоже, Обнаружение службы ECS упрощает регистрацию ваш сервис работает внутри ECS с Route53.

...