镜像
-
docker镜像基于union file system将多个目录合并挂载至一个目 录给容器使用。
-
docker镜像只有rootfs 没有bootfs
-
最底层是bootfs,镜像没有内核 镜像使用的是宿主机的bootfs。
- rootfs 文件系统
- bootfs 包括bootloader kernel
-
一个镜像是有一层或者多层合并而成,每一层称为是一个layer。
-
镜像可以基于其它镜像进行重新构建,被引用的镜像称为父镜像。
-
一个镜像可以同时被创建为多个容器。
-
镜像是只读的,任何的更改都不会直接修改镜像。
基于容器化的CICD流程
Dockerfile 构建镜像
参考方法 docs.docker.com/engine/refe…
- DockerFile是一个可以被Docker程序解释的文本文件,
- 其中由指定的 命令组成,在构建镜像的过程中,Docker程序会读取DockerFile文件内 容并生成一个临时容器、然后在临时容器中执行DockerFile的指令,
- 当执 行完所有的指令后再把临时容器提交为一个Docker镜像,这样就完成的 一个镜像的构建,
- 基于DockerFile构建镜像便于后期对镜像的内容进行调整,因此在企业中有了提前编写好的各种各样DockerFile文件就可以快速 构建出不同的业务镜像,
- 而当后期某个镜像有额外的需求时,只要在之前的DockerFile添加或者修改相应的内容、即可重新生成新的Docke镜像
- 然后部署在业务容器环境中(docker、docker-compsoe、swarm、 kubernetes、openshift等)。
手动提交镜像
查看帮助
docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] Create a new image from a container's changes
-a, --author string #镜像作者信息
-c, --change list #Dockerfile中的指令
-m, --message string #镜像提交信息
-p, --pause #提交镜像过程中暂定容器,默认为true
手工创建镜像
docker commit -m "nginx image v2" -a "user1 2973707860@qq.com" -c "EXPOSE 80 443" 3ac3619d2b61 harbor.magedu.net/myserver/nginx:v2
使用镜像 重新创建一个容器
docker run -it -p 81:80 harbor.magedu.net/myserver/nginx:v2