码迷,mamicode.com
首页 > 其他好文 > 详细

react使用docker时多环境支持

时间:2020-09-12 21:54:07      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:set   window   div   pos   test   文件夹   外部   wap   exp   

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

 

react使用docker时多环境支持

标签:set   window   div   pos   test   文件夹   外部   wap   exp   

原文地址:https://www.cnblogs.com/wishonline/p/13594232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!