首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何增加每个容器的基本设备尺寸?

如何增加每个容器的基本设备尺寸?
EN

Unix & Linux用户
提问于 2018-04-02 09:55:47
回答 2查看 1.3K关注 0票数 0

在构建容器时(当我在容器内运行相同的命令时也会发生同样的情况),我在抱怨“设备上没有空间”时遇到了一个错误。我向df查询并确认我有足够的空间。我的操作系统是Arch,下面是docker info的输出:

代码语言:javascript
复制
[mark@arch stackage-head]$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 123
Server Version: 18.03.0-ce
Storage Driver: devicemapper
 Pool Name: docker-8:3-5898903-pool
 Pool Blocksize: 65.54kB
 Base Device Size: 10.74GB
 Backing Filesystem: xfs
 Udev Sync Supported: true
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 45.27GB
 Data Space Total: 107.4GB
 Data Space Available: 56.87GB
 Metadata Space Used: 36.01MB
 Metadata Space Total: 2.147GB
 Metadata Space Available: 2.111GB
 Thin Pool Minimum Free Space: 10.74GB
 Deferred Removal Enabled: true
 Deferred Deletion Enabled: true
 Deferred Deleted Device Count: 0
 Library Version: 1.02.146 (2017-12-18)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: cfd04396dc68220d1cecbe686a6cc3aa5ce3667c
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.15.11-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.58GiB
Name: arch
ID: VKYM:3FM2:MAE7:SZPY:E4CR:6U6K:Z5SG:5A66:NEJT:K4MD:LN57:FBXM
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: mrkkrp
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

我尝试使用--storage-opt size=20G选项,但是失败了,如下所示:

代码语言:javascript
复制
[mark@arch stackage-head]$ docker run -it --storage-opt size=20G snoyberg/stackage:nightly bash
docker: Error response from daemon: Failed to grow rootfs:exit status 1:xfs_growfs: /dev/mapper/docker-8:3-5898903-3456c9ee1d5a83fc705125974101c89015562d0cc4c00bc5e1c97bd560dded6a-init is not a mounted XFS filesystem.
See 'docker run --help'.

根据医生们,这应该是可行的。

我查看了,其中有一个相关部分:

但是,我不知道这如何适用于我,因为我没有在/etc/fstab中安装XFS文件系统,因为我理解devicemapper会根据容器的需要创建它们。

容器不能比这个“基本设备大小”更大,所以我尝试以各种方式增加它。

  • 使用docker daemon --storage-opt dm.basesize=20G,如这个古老的柱子。唉,据报道,--storage-opt是一个未知的标志。
  • 通过将--storage-opt dm.basesize=20G传递给docker run,但是这次dm.basesize被报告为一个未知的选项。
EN

回答 2

Unix & Linux用户

发布于 2019-01-07 12:14:47

但是,我不知道这如何适用于我,因为我没有将XFS文件系统安装在/etc/fstab中,因为我了解到devicemapper会根据容器的需要创建它们。

您肯定是对的,但是我们可以在您的"Docker“中看到”:xfs“。这意味着在“docker -8:3-5898903池”卷中创建的容器基卷使用xfs作为容器基卷。

选项“-存储-选择size=20G”对我有效。

我认为你的码头保存量没有足够的空间来增长。

请张贴下列命令的结果:

  1. 伊萨克
  2. 列表项目
  3. 左室
  4. vgs
票数 0
EN

Unix & Linux用户

发布于 2019-01-07 12:59:33

在禁用之外的其他模式中使用带selinux的循环时,请完全执行。

如果您不了解SELinux,请使用禁用模式(用这个)进行测试,并在对接器中了解如何正确配置SELinux (码头SELinux安全策略)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/435011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档