Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 如何使用ansible playbook在远程机器上的nginx docker容器上部署网站?_Azure_Docker_Nginx_Ansible - Fatal编程技术网

Azure 如何使用ansible playbook在远程机器上的nginx docker容器上部署网站?

Azure 如何使用ansible playbook在远程机器上的nginx docker容器上部署网站?,azure,docker,nginx,ansible,Azure,Docker,Nginx,Ansible,我已经在Azure上运行了一台ubuntu虚拟机。我正试图在远程主机上的Nginx docker容器上托管一个网站 我已经完成了为这个链接提供的一切 当我运行curl命令时,它会将终端上index.html的所有内容显示为输出,当我尝试在浏览器上访问网站Welcome to Nginx页面时,它不会显示任何内容。 我不确定要为本教程中显示的docker/.env文件中的NGINX_IP变量分配什么IP地址 是否有任何其他教程可以帮助我实现我想要的 提前感谢。对于您的问题,问题是您没有将容器端口

我已经在Azure上运行了一台ubuntu虚拟机。我正试图在远程主机上的Nginx docker容器上托管一个网站

我已经完成了为这个链接提供的一切

当我运行curl命令时,它会将终端上index.html的所有内容显示为输出,当我尝试在浏览器上访问网站Welcome to Nginx页面时,它不会显示任何内容。 我不确定要为本教程中显示的docker/.env文件中的NGINX_IP变量分配什么IP地址

是否有任何其他教程可以帮助我实现我想要的


提前感谢。

对于您的问题,问题是您没有将容器端口映射到主机端口。因此,您可以访问主机内的容器

解决方案是,您需要在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容器的运行方式如下:

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}
最后一步,您需要允许NSG中与运行nginx的VM关联的端口80。然后,您可以在浏览器中访问虚拟机外部的nginx