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
  • 相关阅读:
    在线制作流程图
    表格设计有感
    mvp需要加上单利模式
    2015.7.17( NOI2015 day1 )
    BZOJ 2073: [POI2004]PRZ( 状压dp )
    1688: [Usaco2005 Open]Disease Manangement 疾病管理( 枚举 )
    BZOJ 1072: [SCOI2007]排列perm( )
    BZOJ 1475: 方格取数( 网络流 )
    BZOJ 3524: [Poi2014]Couriers( 主席树 )
    BZOJ 1087: [SCOI2005]互不侵犯King( 状压dp )
  • 原文地址:https://www.cnblogs.com/wishonline/p/13594232.html
Copyright © 2011-2022 走看看