【问题标题】:Docker volume storage duplicationDocker卷存储复制
【发布时间】:2016-12-29 20:50:30
【问题描述】:

我正在运行 ElasticSearch 的 dockerized 版本,并使用卷将 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

【问题讨论】:

  • 你是如何测量“尺寸”的?
  • 您使用的是什么存储驱动程序? docker info | grep Storage
  • @Matt -- 看起来像 Devicemapper,我在上面发布了 docker 信息。

标签: docker docker-volume


【解决方案1】:

您的 docker 容器内的文件系统由几部分组成。第一个是镜像中的根文件系统——它是从 Docker 存储卷提供的写入文件系统的副本中挂载的。在其内部,可以安装各种“卷”。卷是不同的,因为它使用写入文件系统时的副本,它使用系统的基本文件系统,并安装在 rootfs 中您指定的位置。如果你为你的卷选择一个主机位置,那个目录/文件将被挂载到容器文件系统中——如果你不这样做,docker会为你创建一个目录并挂载它。

所以。

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

【讨论】:

    猜你喜欢
    • 2021-08-06
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    相关资源
    最近更新 更多