docker镜像的构建
docker镜像的构建
1.Dockerfile
Dockerfile是构建docker镜像的脚本,它里面会告诉docker镜像构建程序如何构建一个特定的docker镜像
2.overlayer
overlayer是docker镜像的镜像层,每一个docker镜像由多个overlayer的组成,由于docker镜像存储使用了联合文件系统,每一个docker镜像由多个overlayer组成,多个docker镜像相同的overlayer进行共用,这使得不管是存储docker镜像还是运行docker容器,这都极大的节省了空间
3.Dockerfile语法
1 |
|
4.docker镜像构建
1 |
|
5.docker镜像多阶段构建
在实际构建docker镜像的过程中,有时候可能要先构建成中间产物,比如部署项目时,我们可能要先部署编译环境,然后构建成可执行程序的时候,然后在清理中间产物,导致整个构建过程十分的繁琐,因此自从Docker 17.05.0-ce之后,docker支持了多阶段构建镜像
例如,部署golang程序,我们首先在golang的docker镜像上将源码编译成可执行程序,再将可执行程序部署到alpine镜像上构建成docker镜像。
1 |
|
6.常用的docker基础镜像
alpine
最常用的docker基础镜像,非常小,只有几MB,libc使用的musllib,和glibc不兼容,因此部署的可执行程序需要在musllib作为libc时进行编译,否则无法运行
centos
常用的运行环境,centos由于其稳定性是企业中最常用的linux发行版,
ubuntu
常用的编译环境,libc为glibc
docker镜像的构建
https://dreamaccount.github.io/2023/03/05/docker镜像的构建/