0%

优化Docker镜像

  • 选用更小的基础镜像:例如alpine或基于alpine构建的镜像

  • 合并指令,减少镜像层级:将安装依赖、编译、移除源代码等指令合并成一条语句

  • 去除不需要的依赖、库:删除用不到的依赖、库等,尽量精简镜像

  • 分阶段构建镜像:分离编译镜像和部署镜像,下面是一个nodejs项目的示例:

    1
    2
    3
    4
    5
    6
    7
    8
    FROM node:14-alpine as build

    ADD . /app
    RUN yarn install && yarn build

    FROM nginx:alpine

    COPY --from=build-app /app/dist /usr/share/nginx/html

大家可以在DockerHub了解更多优秀软件的Dockerfile的写法。