docker镜像存储位置

docker info | grep "Docker Root Dir"

例如我的driver是overlay2,则docker镜像的实际存储在/var/lib/docker/overlay2文件夹里面。


ls和du的不同

ls -alh dir/显示文件的大小或文件夹的元数据的大小。所以在ls -alh 文件夹时,元数据存储在一个block里面,一个block的大小(4.0K),而不显示里面实际内容的大小。

du显示当前文件夹的磁盘占有大小。

Summarize disk usage of the set of FILEs, recursively for directories


解决问题的过程 TLDR;

  1. Google一下。找到

https://stackoverflow.com/a/25978888/5955399

  1. 原来存储位置取决于driver。
  2. 输入docker info查看,关键的信息:Server Version: 18.09.6, Storage Driver: overlay2, Docker Root Dir: /var/lib/docker。我的docker driver是overlay2。
  3. ls -alh /varl/lib/docker/overlay2。咦!为什么都是4.0KB大小?和我的docker images显示的size不同,明明size有几G大。
  4. 想起了linux在磁盘上表现为用block去存储,一个block是4.0KB。ls命令显示的只是文件夹的meta-data,不是实际内容在磁盘的占有大小。

https://askubuntu.com/questions/186813/why-does-every-directory-have-a-size-4096-bytes-4-k

https://unix.stackexchange.com/questions/55/what-does-size-of-a-directory-mean-in-output-of-ls-l-command?

  1. 怎么查看实际磁盘占有大小?du -s /var/lib/docker/overlay2的最后一行。

    或者du -sh /var/lib/docker/overlay2

    或者更human readable的,根据文件大小排序du -sh * | sort -h

https://unix.stackexchange.com/questions/371238/what-is-the-difference-between-file-size-in-ls-l-and-du-sh

https://stackoverflow.com/questions/1019116/using-ls-to-list-directories-and-their-total-sizes

https://unix.stackexchange.com/questions/185764/how-do-i-get-the-size-of-a-directory-on-the-command-line

https://unix.stackexchange.com/questions/371238/what-is-the-difference-between-file-size-in-ls-l-and-du-sh

Docker - docker images存储位置,引出ls和du命令的不同的更多相关文章

  1. Docker 修改默认存储位置

    首先使用 docker info 查看 docker 的基本信息 sudo docker info Containers: 0 Images: 5 Storage Driver: devicemapp ...

  2. docker修改默认存储位置

    前言:我这是默认安装的docker,所以其存放位置是/var/lib/docker,你可以发现是在/下面,之后你用docker 拉取的镜像文件也存放在这下面,这样就很快导致/空间爆满 1.修改配置文件 ...

  3. Docker修改默认存储位置(转)

    方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root ...

  4. Linux下用ls和du命令查看文件以及文件夹大小

    ls的用法 ls -l |grep "^-"|wc -l或find ./company -type f | wc -l  查看某文件夹下文件的个数,包括子文件夹里的. ls -lR ...

  5. Linux下用ls和du命令查看文件以及文件夹大小(转)

    转自:https://www.cnblogs.com/xueqiuqiu/p/7635722.html ls的用法 ls -l |grep "^-"|wc -l或find ./co ...

  6. 修改docker的默认存储位置

    service docker stop mv /var/lib/docker /mnt/docker ln -s /mnt/docker /var/lib/docker ls /var/lib/doc ...

  7. Docker 更改镜像存储位置

    在使用 Docker 的过程中,如果我们一切都以默认的设置进行操作的话,在使用一段时间之后你应该会发现系统的根目录空间越来越少,直到有一天发现空间都被占满了,最后发现原来是被 Docker 占用了.所 ...

  8. Docker: 如何修改 Docker 的镜像存储位置

    我用的阿里云的服务器, 但是系统盘只有20G, 默认 Docker 的镜像文件是安装在/var/lib 目录下的, 这样的话我根本装不了太多的镜像... 这个必须得改改... 搜了下, 解决方案如下: ...

  9. Docker Toolbox替换默认docker machine的存储位置

    使用Docker Toolbox是因为它不用打开windows的hyper-v组件,这样可以和VMware workstation一起使用. 关于如何迁移可参考:https://www.cnblogs ...

随机推荐

  1. 论文阅读笔记(十九)【ITIP2017】:Super-Resolution Person Re-Identification With Semi-Coupled Low-Rank Discriminant Dictionary Learning

    Introduction (1)问题描述: super resolution(SP)问题:Gallery是 high resolution(HR),Probe是 low resolution(LR). ...

  2. [51nod 1256] 乘法逆元 - exgcd

    给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Solution 用 EXGCD 求 ...

  3. Python三种注释及分行换行输出

    1.单行注释 以#开头,#右边的所有东西都被当成文字说明,而不是真正要执行的程序,只是起到辅助说明作用(#后需要先添加一个空格). 单行注释写到行内代码后边,或者单独一行均可. # 我是单行注释,#号 ...

  4. tensorflow模型的保存与加载

    模型的保存与加载一般有三种模式:save/load weights(最干净.最轻量级的方式,只保存网络参数,不保存网络状态),save/load entire model(最简单粗暴的方式,把网络所有 ...

  5. 前向传播和反向传播实战(Tensor)

    前面在mnist中使用了三个非线性层来增加模型复杂度,并通过最小化损失函数来更新参数,下面实用最底层的方式即张量进行前向传播(暂不采用层的概念). 主要注意点如下: · 进行梯度运算时,tensorf ...

  6. Thymeleaf的基本用法

    俗话说,不会前端的后端工程师不是一个合格的程序员.因为在项目中经常要和前端工程师打交道,并且偶尔也会涉及前端的简单开发,因此在闲暇之余学习了一点前端的知识,今天首先总结归纳一下 Thymeleaf 模 ...

  7. 百度地图根据list经纬度算每个点到剩余点的平均距离、最远距离和最近距离

    一.使用步骤 说明:给你一大串坐标list.计算每个点到其他所有点的最近最远平均距离. 1.打开百度地图api在线demo(随便一个都行) 2.替换<script></script& ...

  8. ubuntu安装pyenv

    安装依赖包 bash {.line-numbers} sudo apt-get update sudo apt-get install build-essential python-dev pytho ...

  9. C 库函数 - modf()

    C 库函数 - modf() C 标准库 - <math.h> 描述 C 库函数 double modf(double x, double *integer) 返回值为小数部分(小数点后的 ...

  10. 使用ESLint+Prettier来统一前端代码风格

    Prettier 简单使用 ESLint 与 Prettier配合使用 首先肯定是需要安装 prettier ,并且你的项目中已经使用了 ESLint ,有 eslintrc.js 配置文件. npm ...