繁体   English   中英

如何使用ansible剧本在远程计算机上的nginx docker容器上部署网站?

[英]How do I deploy a website on an nginx docker container on a remote machine using ansible playbook?

我可以在Azure上运行我的ubuntu虚拟机之一。 我正在尝试在远程计算机(主机)上的Nginx docker容器上托管一个网站。

我已经完成了此链接http://www.inanzzz.com/index.php/post/6138/setting-up-a-nginx-docker-container-on-remote-server-with-ansible的所有操作

当我运行curl命令时,它将在终端上显示index.html的所有内容作为输出,而当我尝试在浏览器上访问网站(“欢迎使用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容器的运行方式如下:

在此处输入图片说明

最后一步,您需要在NSG中允许与您运行nginx的VM关联的端口80。 然后,您可以在浏览器中访问VM外部的Nginx。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM