zoukankan      html  css  js  c++  java
  • react使用docker时多环境支持

    1.添加env.sh,用于接收外部参数,动态添加至config.js中

    #!/bin/sh
    
    echo "" >> ${CONFIG_FILE_PATH}/config.js
      
      echo "window._env="${CE}";" >> ${CONFIG_FILE_PATH}/config.js
     
    echo "" >> ${CONFIG_FILE_PATH}/config.js
    
    
    # disable broswer cache
    sed -i "s/config.js?v=[0-9]*/config.js?v=$(date +'%s')/g" ${CONFIG_FILE_PATH}/index.html
    
    # exec CMD
    exec "$@"

    2.定义Dockerfile,添加启动命令,在docker启动时执行env.sh

    # 使用node版本12.18.2
    FROM node:10.21.0
    
    # 进入code文件夹,如果没有则会生成,并进入文件夹
    WORKDIR /code
    # 将当前内容 放入code文件夹
    ADD . /code
    
    # 执行指令
    RUN npm config set registry https://registry.npm.taobao.org/ && npm install && npm run build && npm install -g http-server
    
    ENV CONFIG_FILE_PATH /code/build
    ENV _env=$CE
    COPY ./env.sh /env.sh
    # Ensure convert envs to window._env
    ENTRYPOINT ["sh", "/env.sh"]
    
    # 暴露容器端口 9093
    EXPOSE 9093
    
    # 当执行docker run的时候会执行以下shell 脚本。
    CMD http-server ./build -p 9093

    3.添加构建及发布docker命令

    version="1.0.0"
    echo $version
    docker build -t 192.168.10.89:8008/jmgo/oa.wap:$version .
    docker tag 192.168.10.89:8008/jmgo/oa.wap:$version 192.168.10.89:8008/jmgo/oa.wap:latest
    docker push 192.168.10.89:8008/jmgo/oa.wap:latest
    docker push 192.168.10.89:8008/jmgo/oa.wap:$version

    4.在index.html中添加config.js引用

    5.构建发布后拉取最新docker,运行时传入参数变量

    docker rm -f wap_oa
    docker pull 192.168.10.89:8008/jmgo/oa.wap:latest
    docker run -d -p 9093:9093 -v /home/oa.wap/logs:/logs --privileged=true --restart=always -e CE="prod" --name wap_oa 192.168.10.89:8008/jmgo/oa.wap:latest
  • 相关阅读:
    127. Word Ladder(单词变换 广度优先)
    150. Evaluate Reverse Polish Notation(逆波兰表达式)
    32. Longest Valid Parentheses(最长括号匹配,hard)
    20. Valid Parentheses(括号匹配,用桟)
    递归桟相关
    python编写计算器
    python打印9宫格,25宫格等奇数格,且横竖斜相加和相等
    基于百度人工智能图片识别接口开发的自动录题系统
    自动收集有效IP代理
    python数据储存
  • 原文地址:https://www.cnblogs.com/wishonline/p/13594232.html
Copyright © 2011-2022 走看看