前言:为了让读者方便理解Docker的镜像,我得想一个形象一点的比喻。其实我觉得镜像就像一根金属棒,每一次操作镜像就是给这根金属球镀上一层可剥落的金属镀层。很明显,金属棒是不会变的(对应镜像是不可修改的,即只读的)。我们可以把镀层和金属球一起变成一根新的金属。也可以把金属棒抽出,重新去做新的镀层。
我们后面会学如何保存镀层,如何把镀层成不可剥落的等操作。
上面说的是思想,下面来看实现,其实很简单。
常用命令
说明:用$
符号的地方要换成具体的名称
sudo docker pull $image # 拉取镜像$image
sudo docker images $image # 查看$image的信息,支持通配符*,
#$image为空时列出当前所有镜像
sudo docker rmi $image #删除镜像$image,支持ID删除
sudo docker save $image > $image.tar #导出镜像
sudo docker save -o $image.tar $image1 $image2 ... #同上,-o后紧跟的被当做结果,可以一次导出多个镜像
sudo docker load < $image.tar # 导入镜像
sudo docker load -i $image.tar #同上
sudo docker inspect $image #查看镜像信息,-f 选项可以过滤信息
下面是实战部分:
1. 拉一个ubuntu,再拉一个centos
sudo docker pull ubuntu
sudo docker pull centos
2.查看镜像,镜像信息
sudo docker images
sudo docker u*
sudo docker inspect ubuntu
有的镜像是之前就有的
3. 导入导出镜像,删除
sudo docker save -o ubuntu.tar ubuntu
sudo docker save centos > centos.tar
sudo docker load -i ubuntu.tar
sudo docker load < centos.tar
sudo docker rmi ubuntu 1e #1e 是IMAGE ID,在用sudo docker images时候可以看见
今天就到此为止吧!