Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器。
采用分层构建机制,最底层为 bootfs,其之为 rootfs
docker镜像文件系统是分层构建,联合挂载的机制实现的。现在docker镜像最常用的文件系统是 overlay2
Registy 用于保存docker镜像,包括镜像的层次结构和元数据
用户可自建Registry,也可使用官方的 Docker Hub
分类:
Repository
由某特定的 docker 镜像的所有迭代版本组成的镜像仓库
一个 Registry 中可以存在多个 Registry
每个仓库可以包含多个Tag(标签),每个标签对应一个镜像
Index
在获取镜像时,不指定端口,默认就是 https(443)
docker pull <registry>[:<port>]/[<namespace>/]<name>:<tag>
第一步:基于 busybox 启动一个容器
[root@docker ~]#docker run --name b1 -it busybox:latest /bin/sh
/ # mkdir -p /data/html/
/ # echo ‘<h1>busybox httpd server.</h1>‘ > /data/html/index.html
第二步:启动一个新终端基于容器创建镜像
[root@docker ~]#docker commit -p b1
sha256:c7f2abb4785ccdd2045b0e2049ac1dd2254b4dcbfb0fe078e89c5ca9b2117bb0
[root@docker ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> c7f2abb4785c About a minute ago 1.23MB
注意:在基于容器创建镜像时,第一个终端不要退出。
为镜像打标签(tag)
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
[root@docker ~]#docker tag c7f2abb4785c hukey/httpd:v0.1-1
[root@docker ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hukey/httpd v0.1-1 c7f2abb4785c 3 minutes ago 1.23MB
[root@docker ~]#docker tag hukey/httpd:v0.1-1 hukey/httpd:latest
[root@docker ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hukey/httpd latest c7f2abb4785c 4 minutes ago 1.23MB
hukey/httpd v0.1-1 c7f2abb4785c 4 minutes ago 1.23MB
修改镜像默认的前台执行命令
docker commit -a "hukey <hukey@super.com>" -c ‘CMD ["/bin/httpd", "-f", "-h","/data/html"]‘ -p b1 hukey/httpd:v0.2
导出
[root@docker ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hukey/httpd v0.2 057c29593768 14 minutes ago 1.23MB
hukey/httpd latest c7f2abb4785c 24 minutes ago 1.23MB
hukey/httpd v0.1-1 c7f2abb4785c 24 minutes ago 1.23MB
[root@docker ~]#docker save hukey/httpd:v0.1-1 hukey/httpd:v0.2 > myimages.tar
导入
[root@localhost ~]#docker load < myimages.tar
8f8e3c7011ee: Loading layer [==================================================>] 1.45MB/1.45MB
14251430ea31: Loading layer [==================================================>] 5.12kB/5.12kB
Loaded image: hukey/httpd:v0.1-1
Loaded image: hukey/httpd:v0.2
[root@localhost ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hukey/httpd v0.2 057c29593768 17 minutes ago 1.23MB
hukey/httpd v0.1-1 c7f2abb4785c 27 minutes ago 1.23MB
原文:https://www.cnblogs.com/hukey/p/14057279.html