制作小镜像:
- 不要使用CentOs镜像为基础小镜像
使用:
- alphine
- busybox
- scratch
- Debian
如果需要glib库,则可以使用
- node:slim
- python:slim
分阶段构建(一般用来编译结果的引用)
FROM centos:7.6
....
...
...
...
#as给这个构建设置别名
FROM alphine:1.2 as buider
#--from为0,则引用第一个FROM镜像的内容,这里的COPY原目录就不是本机的,而是第一个FROM的文件
COPY --from=0 /opt/main /opt
....
....
....
FROM alphine:1.2
#--from=buider,引用的是别名为buider的FROM构建的镜像,所以COPY的原目录也变了
COPY --from=buider /opt/main /opt
......
....
....
scratch 基础镜像
- 不能使用docker pull scratch,下载镜像
- 但是可以使用dockerfile中的FROM直接引用,是一个空镜像,如果你的代码应用有动态库、系统库依赖则不能使用,或者需要将依赖库copy进去,,但不建议