首页  >  问答  >  正文

Docker怎么删掉不用的layer?

https://hub.docker.com/_/node/

我直接输入的命令
docker pull node
是不是把所有的node的layer版本都下载下来了?
因为有600M呢···
我怎么删掉不用的呢?

天蓬老师天蓬老师2758 天前792

全部回复(2)我来回复

  • 高洛峰

    高洛峰2017-04-24 09:14:12

    1. 如果已经存在的 image layer,是不会重复下载的。

    2. 要用某个 image,就要下载所有的 layer,中间的 layer 也是必须的

    3. 删除不用的就 docker images ,找到没的,然后 docker rmi <image_id>

    回复
    0
  • PHP中文网

    PHP中文网2017-04-24 09:14:12

    因为镜像大多数情况下是根据Dockerfile生成的,当然该方法也是官方建议的镜像生成方法,因为容易重现。而根据Dockerfile生成镜像的过程中,Dockerfile中几乎每一条指令都会以上一条指令生成的镜像为基础镜像创建容器,然后执行该条指令的内容,也就会生成一个新的layer,所以除了FROM后的最基础的镜像layer,剩下的可以看作是所有在可写层所做的操作形成的叠加,是无法删除的。如果你感觉有些层是不需要的,那么建议查看镜像日志:docker history ImageName,然后根据日志内容自己编写Dockerfile,去除不需要的操作步骤,那么重新构建的镜像就不会有你不需要的layer。祝你成功。

    回复
    0
  • 取消回复