SPA静态文件服务器Docker部署

133 阅读1分钟

打包生成dist静态文件

npm run build | yarn build

编写Dockerfile文件

FROM node:16.17.0-alpine3.15

WORKDIR /app

COPY dist /app/dist

RUN npm i serve -g --registry=https://registry.npmmirror.com/ --force

CMD ["serve", "dist"]

打包镜像

docker build -t image-name:1.0.0-beta.1 .

测试镜像

docker run -ti --rm image-name:1.0.0-beta.1 ash

本地部署

# 停止并删除容器
docker stop container-name | xargs docker rm

# 创建容器
docker run -d --net bridge --name container-name `
  -p 3000:3000 `
  --restart=unless-stopped `
  image-name:1.0.0-beta.1

将镜像推送到DockerHub

# 登录
docker login -u 用户名 -p 密码
# 推送
docker push image-name:1.0.0-beta.1

服务器部署

# 拉取DockerHub镜像
docker pull image-name:1.0.0-beta.1

# 停止并删除容器
docker stop container-name | xargs docker rm

# 创建容器
docker run -d --net netwark-name --ip 0.0.0.0 --name container-name \
  -p 3209:3000 \
  --restart=unless-stopped \
  image-name:1.0.0-beta.1