Docker卷存储重复

时间:2016-12-29 20:50:30

标签: docker docker-volume

我正在运行Dockerized版本的ElasticSearch,并使用卷将ElasticSearch目录映射到docker之外。

我的问题是docker容器的大小(在/ var / lib / docker / containers /中)的增长速度与/ path / to / outside / docker / container目录中的文件的速度相同。我已确认docker容器内的内容与/ path / to ...目录的内容相同。

这种重复数据是否正常?

附加了Docker信息:

Server Version: 1.12.1
Storage Driver: devicemapper
 Pool Name: docker-253:6-3151143-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.123 GB
 Data Space Total: 107.4 GB
 Data Space Available: 9.204 GB
 Metadata Space Used: 2.966 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.145 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.36.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.687 GiB
Name: bos-qa-elk-01
ID: CFHQ:37BL:JKQM:E5LC:IYHO:ZO3T:USKV:SGUW:XFYV:3IYJ:K5QD:U5PN
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
 127.0.0.0/8

1 个答案:

答案 0 :(得分:2)

docker容器中的文件系统包含几个东西。第一个是映像中的根文件系统 - 这是从Docker存储卷提供的写文件系统上的副本安装的。在其中,可以安装各种“体积”。卷是不同的,因为它使用写文件系统上的副本,它使用系统的基本文件系统,并安装在您指定的位置的rootfs内。如果您为卷选择了一个主机位置,那么该目录/文件将被安装在容器文件系统中 - 如果不这样,docker将为您创建一个目录并挂载它。

所以

您在主机系统上创建了一个卷,并在其中存储数据。数据实际存在于主机上的该位置。在容器内部,安装了卷目录,因此您也可以看到相同的数据。这并不意味着数据是重复的,只是你可以在多个地方看到它。