bixi
Version:
企业级中后台前端解决方案
35 lines (25 loc) • 820 B
Markdown
order: 15
title: 容器化
type: Advance
我们建议你以如下方式编写 `Dockerfile`:
1. 不要在 `Dockerfile` 外部构建再将 dist 拷入镜像,因为这样构建结果会取决于你的宿主机,这打破了标准化交付的原则
2. 尽可能使用分层构建,这样可以使镜像体积最小
3. 务必先拷贝 yarn.lock,再拷贝代码,这样可以复用 image layer,提升构建速度
``` dockerfile
FROM node:12.6-alpine as builder
WORKDIR /app
RUN npm i -g yarn
ADD package.json /app/package.json
ADD yarn.lock /app/yarn.lock
RUN yarn
ADD . /app
RUN yarn build
# +++++++++++++++++++++++++++++++++++++++++++++++++++
FROM nginx:1.9.0-alpine
RUN mkdir -p web/logs
COPY --from=builder app/dist/ /web/dist/
ADD build/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
```