Vue Docker部署--Dockerfile书写_cloudbuild上vue项目的dockerfile怎么写-程序员宅基地

技术标签: Vue.js  Dockerfile  Nginx  Docker  项目实战  

前一阵有一个项目是采用Vue.js作为前端技术栈开发的,在实际部署的时候采用的是Webpack打包,然后用Nginx作为代理服务器,然后采用Daocloud平台,将其作为Docker容器部署。

由于后台也是采用Docker部署,所以我们并不知道后台的IP地址,没有办法采用常见的将自己定义的Nginx配置文件default.conf替换默认文件,常见方式的实现是:

RUN rm /etc/nginx/conf.d/default.conf //删除nginx 默认配置

ADD default.conf /etc/nginx/conf.d/ //添加自己的配置 default.conf 在下面

COPY dist/  /usr/share/nginx/html/

我采用的解决方式是将Nginx配置文件中的proxy_pass 的值设为自定义的环境变量{HOST_IP}(可自定义变量名),这样在生成Vue Docker时可以定义环境变量为后台的IP地址,就解决了未知后台地址的Vue Docker搭建。

Nginx的配置文件如下

server {
    listen       9000;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    
    #change
    location /api/ {
      proxy_pass ${HOST_IP};
    }


    #error_page  404              /404.html;

    # redirect server error pages to the static page 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38486568/article/details/81055519

智能推荐

oracle 清空回收站

--清除回收站中当前用户下的对象。---清除回收站中指定用户的表。---清除回收站中所有的对象。

GAMS104 现代游戏引擎 2

5,渲染中光和材质的数学魔法,6,7,游戏中地形大气和云的渲染,游戏中的渲染管线,后处理等

cube station下载_Cube Station-程序员宅基地

文章浏览阅读1.8k次。《Cube Station》由著名竞速魔方品牌——GAN 魔方全新推出,配套 GAN 356i 智能竞速魔方使用,实现了个人训练与在线对战两大核心功能,以全面详尽的数据纪录及新鲜刺激的多样玩法,助力全球魔友提升专业水平,尽享竞速之趣。《Cube Station》由著名竞速魔方品牌——GAN 魔方全新推出,配套 GAN 356i 智能竞速魔方使用,实现了个人训练与在线对战两大核心功能,以全面详尽的数..._cube station

K8S 亲和性与反亲和性

在 Kubernetes 中,亲和性(Affinity)是一种用于控制 Pod 调度的机制,它允许你指定 Pod 如何与节点进行互动,以便将 Pod 调度到合适的节点上。亲和性可以分为两种类型:节点亲和性(Node Affinity)和 Pod 亲和性(Pod Affinity)。

JMeter--配置元件--HTTP请求默认值

组件中,比如:协议、IP、端口号、编码等;然后在每个http请求的配置元件中,编辑自己独有的信息即可;参数传递格式:application/x-www-form-urlencoded。参数传递格式:multipart/x-www-form-data。一个线程下可以同时存在多个http请求,可以把公共参数,提取到。一般 POST 使用;

随便推点

十一个关于Netty的经典问答:为何选择Netty?-程序员宅基地

文章浏览阅读108次。点击关注,快速进阶高级架构师1.Netty 是什么?Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。2.使用 Netty 能够做什么?开发异步、非阻塞的 TCP 网络应用程序;开发异步、非阻塞的 UDP 网络应用程序;开发异步文件传输应用程序;开发异步 HTTP 服务端和客户端应用程序;提供对多种编解码框架的集成..._netty 问答

C++中循环调用python脚本,第二次PyImport_ImportModule时发生写入错误_循环调用pyfinalize-程序员宅基地

文章浏览阅读3.5k次,点赞9次,收藏6次。C++中循环调用import第三方库的python脚本,第一次成功调用并获得python的返回值,第二次PyImport_ImportModule时发生写入错误。如果不import第三方库则没有问题解决办法:将初始化:Py_Initialize(); 释放:Py_Finalize();放到调用的大循环外边参考:https://blog.cs..._循环调用pyfinalize

shell脚本循环语句_shell脚本按次数循环-程序员宅基地

文章浏览阅读590次。循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行。在Shell中常见的循环命令有while、until、for和select等。for循环语句​ for循环语句与while循环语句类似,但for循环语句主要用于有限次的循环场景,while主要无限次循环的场景,如守护进程。for循环语句语法分析第一种格式for 变量 in 列表do操作done第二种..._shell脚本按次数循环

gensim函数训练Word2Vec模型 具体参数讲解_gensim word2vec 参数-程序员宅基地

文章浏览阅读2.9k次。用gensim函数库训练Word2Vec模型有很多配置参数。这里对gensim文档的Word2Vec函数的参数说明进行翻译。class gensim.models.word2vec.Word2Vec(sentences=None,size=100,alpha=0.025,window=5, min_count=5, max_vocab_size=None, sample=0.001,seed=..._gensim word2vec 参数

Vue.js概述_vue.js是动态页面吗-程序员宅基地

文章浏览阅读265次。从头开始复习Vue.js3_vue.js是动态页面吗

django restframework ModelViewSet PUT方法不被允许_方法 “put” 不被允许。-程序员宅基地

文章浏览阅读4.1k次。默认的viewset和默认的router,但发送put、delete请求提示不支持官方实现update方法的时候要求传入pk,所以在put时将请求URL改成:path/pk/就可以了。正确的传参方式retrieve get/id/update put/id/destroy delect/id/list getpartial_update patchcreate post如果格式不正确 会显示" put 方法 不被允许..._方法 “put” 不被允许。