一个简化部署的web项目运行环境,web项目docker化,简化不同环境的部署。
前端web项目打包好之后生成的dist中相关的后端API、环境变量配置都已写到相关代码中, 在docker化之后切换环境部署的时候非常不方便,需要重新构建项目生成对应环境的dist, 也许不同环境的唯一区别就是后端服务器的API地址不一样。这里使用配置环境变量的方式, 在项目启动的时候,自动根据环境变量来替换相关的配置,达到一处构建处处部署的目的, 简化项目部署。
docker pull ghcr.io/nekoimi/webapp:latest
-
项目打包时,约定配置对应的环境变量名称,将环境变量名称作为配置打包进dist
-
在启动docker image的时候,以
WEBAPP_ENV.
为环境变量前缀设置对应的环境变量值即可
生成dist产物例子: repo
step1:
git clone https://github.com/nekoimi/webapp.git
step2:
docker-compose up -d
step3:
浏览器打开默认访问链接http://127.0.0.1查看应用
version: "3.6"
services:
test:
image: ghcr.io/nekoimi/webapp:latest
ports:
- "80:80"
environment:
WEBAPP_ENV.API_SERVER_URL: http://127.0.0.1/api
WEBAPP_ENV.APP_NAME: 测试web
WEBAPP_ENV.BACKGROUND_IMAGE: image.png
WEBAPP_ENV.BASE_URL: /baseurl/
WEBAPP_ENV.USERNAME: user001
WEBAPP_ENV.PASSWORD: user001_pwd
volumes:
- ./example:/workspace
# Dockerfile
FROM ghcr.io/nekoimi/webapp:latest
COPY /dist /workspace