Docker基础实战教程二:镜像管理

第1关:基于Commit定制镜像

任务描述
之前我们用到的镜像,无论是ubuntu镜像还是busybox镜像,都是来自于官方Docker Hub中的镜像。直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,就需要在这些镜像的基础上修改,来定制符合实际需求的镜像。

本关任务是学习使用Commit定制一个镜像,要求学习者参照示例完成定制一个busybox:v1镜像,该镜像在busybox:latest的基础上,新增了一个hello.txt文件。

docker pull busybox
docker run --name container1 busybox touch hello.txt
docker commit container1 busybox:v1

第2关:基于save保存镜像与基于load加载镜像

任务描述
你可能会遇到这样的场景,为了防止镜像丢失,需要为某个特殊的镜像备份。并且在需要的时候,使用备份的文件进行镜像恢复。或者是这样子的,你想将本机的某个镜像传给另外一台机器,那么该怎么办呢?

本关任务是学习保存镜像和加载镜像,要求学习者参照示例完成将busybox:latest镜像保存为一个tar包,在删除busybox:latest镜像之后,通过该tar包恢复busybox:latest镜像。

docker pull busybox:latest

docker save busybox:latest > alpine.tar

docker rmi busybox:latest

docker load < apline.tar

第3关:导入导出容器

任务描述
本关任务是学习导入导出容器,要求学习者参照示例完成将busyboxContainer容器的文件系统保存为一个tar包,通过该tar包导入一个busybox:v1.0镜像。

相关知识
为了完成本关卡,你需要掌握:

将“容器的文件系统”保存到 tar 包;
从 tar 包导入一个镜像;
实例;
docker export 和 docker save 的区别。

docker pull busybox

docker run --name busyboxContainer busybox echo "hello"

docker export busyboxContainer > busybox.tar

cat busybox.tar | docker import - busybox:v1.0

第4关:删除镜像

任务描述
随着我们拉取的镜像越来越多,镜像的管理越来越难。这时候可能就需要删除镜像了。

本关的任务是学习如何删除容器,要求学习者参照示例,将busybox:latest镜像删除。

docker pull busybox
docker run --name container3 busybox:latest echo "hello"

docker rm container3
docker rmi busybox

第5关:构建私有Registry

任务描述
当镜像的数量越来越多,镜像管理就变得非常有必要了。有时候我们需要设置一个本地的私人仓库来进行镜像的管理。

本关任务是学习创建和操作一个私人仓库,要求学习者参照示例完成“创建一个私人仓库,将busybox镜像推送到私人仓库,最后将busybox从私人仓库拉取下来。”。

#构建一个私人仓库
docker pull registry:2
docker run -d -p 5000:5000 --restart=always --name myregistry registry:2

#拉取busybox镜像
docker pull busybox

#1.使用docker tag给busybox加上一个标签localhost:5000/my-busybox:latest
#********** Begin *********#
docker tag busybox:latest localhost:5000/my-busybox:latest
#********** End **********#

#2.将localhost:5000/my-busybox:latest镜像推送到私人仓库
#********** Begin *********#
docker push localhost:5000/my-busybox:latest
#********** End **********#

#删除本地镜像
docker rmi localhost:5000/my-busybox:latest

#3.从私人仓库拉取localhost:5000/my-busybox:latest镜像
#********** Begin *********#
docker pull localhost:5000/my-busybox:latest
#********** End **********#

#删除私人仓库并将私人仓库中的镜像也删除掉
docker rm -vf myregistry

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值