Как развернуть веб-сайт в докерном контейнере nginx на удаленной машине, используя ANSIBLE PlayBook? - PullRequest
0 голосов
/ 12 июля 2019

Я отвечаю за запуск одной из моих виртуальных машин с Ubuntu в Azure.Я пытаюсь разместить веб-сайт в докер-контейнере Nginx на удаленной машине (хост-машине).

Я сделал все, что предоставлено по этой ссылке http://www.inanzzz.com/index.php/post/6138/setting-up-a-nginx-docker-container-on-remote-server-with-ansible

Когда я запускаю команду curl, она отображает все содержимое index.html на терминале как вывод и когда я пытаюсь получить доступвеб-сайт (Добро пожаловать на страницу Nginx) в браузере ничего не показывает.Я не уверен, какой IP-адрес назначить для переменной NGINX_IP в файле docker / .env, показанном в этом учебном пособии.

Есть ли другой учебник, который может помочь мне достичь того, чего я хочу.

Заранее спасибо.

1 Ответ

1 голос
/ 12 июля 2019

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

Решение состоит в том, что вам нужно сопоставить порт в файле docker-compose следующим образом:

version: '3'

services:
    nginx_img:
        container_name: ${COMPOSE_PROJECT_NAME}_nginx_con
        build:
            context: ./nginx
        ports:
          - "80:80"
        networks:
            public_net:
                ipv4_address: ${NGINX_IP}

networks:
    public_net:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: ${NETWORK_SUBNET}

Контейнер Docker работает так:

enter image description here

Последний шаг, вам нужно разрешить порт 80 в NSG, который связан с виртуальной машиной, на которой вы запускаете nginx. Затем вы можете получить доступ к nginx вне виртуальной машины в браузере.

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