多阶段构建前端镜像
Chunbin Lv4

需求

使用node打包前端 => 使用nginx静态服务器
问题:打包完后我们不再需要node镜像了,会导致镜像变大

解决

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FROM node:12.16.1 as builder

LABEL maintainer="chunbinli<545360100@qq.com>"

WORKDIR /app

COPY ./ /app/

RUN yarn && \
yarn build

FROM nginx:1.17.9

RUN rm /etc/nginx/conf.d/default.conf
COPY --from=builder /app/nginx.conf /etc/nginx/conf.d/
COPY --from=builder /app/dist /www
EXPOSE 80

要点:

镜像覆盖

1
2
3
4
FROM node:12.16.1 as builder

FROM nginx:1.17.9

在DOCKERFILE中,第二个FROM会覆盖第一个镜像

获取第一个镜像的内容

1
2
3
FROM node:12.16.1 as builder # 指定为builder

COPY --from=builder /app/nginx.conf /etc/nginx/conf.d/ # 从builder中拿到需要的数据

可以用序号标示镜像

1
COPY --from=0 /app/nginx.conf /etc/nginx/conf.d/ # 从builder中拿到需要的数据
 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量