2017-05-27 110 views
1

我的泊坞窗有问题。 我已经下载了一个图像,码头显示其大小约600Mb。 但是在磁盘上,在/ usr/lib/docker /中它使用的差不多是6Gb。Docker/vfs文件夹大小

这里是像拉在我的文件夹:

      /.. 
    27.9 MiB [##########] /tmp 
    236.0 KiB [   ] /image 
    60.0 KiB [   ] /network 
    8.0 KiB [   ] /vfs 
e 4.0 KiB [   ] /volumes 
e 4.0 KiB [   ] /trust 
e 4.0 KiB [   ] /containers 

这里是图像后拉:

      /.. 
    5.8 GiB [##########] /vfs 
    27.9 MiB [   ] /tmp 
    2.2 MiB [   ] /image 
    60.0 KiB [   ] /network 
e 4.0 KiB [   ] /volumes 
e 4.0 KiB [   ] /trust 
e 4.0 KiB [   ] /containers 

图像本身:

REPOSITORY     TAG     IMAGE ID   CREATED    SIZE 
docker.io/bitnami/mariadb latest    f5dbed792113  8 days ago   598.1 MB 

和它的历史:

IMAGE    CREATED    CREATED BY          SIZE    COMMENT 
f5dbed792113  8 days ago   /bin/sh -C#(nop) CMD ["/run.sh"]    0 B 
<missing>   8 days ago   /bin/sh -C#(nop) ENTRYPOINT &{["/app-entrypo 0 B 
<missing>   8 days ago   /bin/sh -C#(nop) EXPOSE 3306/tcp    0 B 
<missing>   8 days ago   /bin/sh -C#(nop) VOLUME [/bitnami/mariadb]  0 B 
<missing>   8 days ago   /bin/sh -C#(nop) ENV ALLOW_EMPTY_PASSWORD=no 0 B 
<missing>   8 days ago   /bin/sh -C#(nop) COPY dir:c5bea93fb9ce36dc47 3.758 kB 
<missing>   8 days ago   /bin/sh -c bitnami-pkg unpack mariadb-10.1.23 482.1 MB 
<missing>   8 days ago   /bin/sh -c install_packages libaio1 libc6 lib 12.29 MB 
<missing>   8 days ago   /bin/sh -C#(nop) LABEL maintainer=Bitnami <c 0 B 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENTRYPOINT &{["/entrypoint. 0 B 
<missing>   3 weeks ago   /bin/sh -C#(nop) COPY dir:21a422cab8e9367936 10.17 kB 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENV BITNAMI_IMAGE_VERSION=j 0 B 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENV PATH=/opt/bitnami/nami/ 0 B 
<missing>   3 weeks ago   /bin/sh -c cd /tmp && gpg --keyserver hkp:/ 1.423 MB 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENV GOSU_VERSION=1.10 GOSU_ 0 B 
<missing>   3 weeks ago   /bin/sh -c cd /tmp && gpg --keyserver hkp:/ 40.76 kB 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENV TINI_VERSION=v0.13.2  0 B 
<missing>   3 weeks ago   /bin/sh -c cd /tmp && curl -sSLO https://na 16.77 MB 
<missing>   3 weeks ago   /bin/sh -C#(nop) ENV NAMI_VERSION=0.0.6-0  0 B 
<missing>   3 weeks ago   /bin/sh -c install_packages curl ca-certifica 34.3 MB 
<missing>   3 weeks ago   /bin/sh -C#(nop) LABEL maintainer=Bitnami <c 0 B 
<missing>   3 weeks ago               51.14 MB   from Bitnami with love 

我是新来的Docker,这是正常的吗?
我觉得很疯狂。整个Linux虚拟机可能比这个mariadb映像更小。
我该如何解决这个问题? 我的搬运工信息:

Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 1 
Server Version: 1.10.3 
Storage Driver: vfs 
Execution Driver: native-0.2 
Logging Driver: journald 
Plugins: 
Volume: local 
Network: bridge null host 
Kernel Version: 2.6.32-042stab120.20 
Operating System: CentOS Linux 7 (Core) 
OSType: linux 
Architecture: x86_64 
Number of Docker Hooks: 2 
CPUs: 1 
Total Memory: 512 MiB 
WARNING: No oom kill disable support 
WARNING: bridge-nf-call-ip6tables is disabled 
Registries: docker.io (secure) 
+0

对我来说,只有在磁盘上提高600MB:'3.4G \t/var/lib/docker/aufs' - >'4.0G \t/var/lib/docker/aufs'。你的码头1.10有点旧版本 – Robert

+0

你看?这很奇怪。是的,我知道,但这个版本是最新的,我的VPS提供商支持。 –

+0

而我没有vfs目录 – Robert

回答

1

的问题是vfs存储驱动程序。

报价Storage Drivers in Docker: A Deep Dive

首先,让我们得到了一个特殊graphdriver闪开,VFS是 “天真”的实施,不使用工会 文件系统或牛技术在所有的接口,而是将所有层 按顺序复制到一个静态子目录中,并将最终结果作为容器根文件系统装载到 。它不适用于实际(生产)使用 ,但对于Docker引擎的其他部分 的简单验证和测试非常有用。

我的建议是升级到最新的CentOS 7.2,以获得他们支持最新的内核版本和使用overlay2:

https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/

+0

我还是不明白为什么600MB的下载在磁盘上变成5.8GB,尽管执行 – Robert

+0

我明白了。感谢里卡多!会尝试自己看到它。 – Robert

+0

如果一些初始层是600MB,则10层几乎变为6GB。 vfs不实现CoW。实现CoW的文件系统不会复制整个先前的层,而是仅复制每个Dockerfile指令更改的文件和目录。得到它? –