【问题标题】:How to increase docker disk image size in Ubuntu如何在 Ubuntu 中增加 docker 磁盘映像大小
【发布时间】:2018-10-17 18:30:36
【问题描述】:

我正在尝试增加 ubuntu 上的 docker 映像大小。当我做 docker info 我得到以下信息

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.09.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
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: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-87-generic
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.67GiB
Name: no1010042033112.corp.adobe.com
ID: PYZE:KYTG:DXED:QI37:43ZM:56BB:TLM6:X2OJ:WDPA:35UP:Z4CU:DSNC
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

如您所见,总内存为 Total Memory: 15.67GiB。我找不到在 Ubuntu 上执行此操作的方法。我尝试了以下方法

1) sudo dockerd --storage-opt dm.basesize=100G 2) 在 /etc/default/docker 中更改 DOCKER_OPTS="--storage-opt dm.basesize=50G"。

但这些都没有帮助。此选项在 Windows 的 Docker 配置中很容易获得。但是如何从 ubuntu 终端执行此操作

【问题讨论】:

    标签: docker ubuntu-16.04


    【解决方案1】:

    Linux 上的 Docker 使用 overlay2 存储驱动程序,使用主机系统的所有磁盘(和内存)。没有办法让它使用更少的磁盘(无需重新分区您的主系统磁盘),也无法提供更多的磁盘(无需添加新硬件)。

    Docker for Mac、Linux 风格的 Windows Docker 和 Docker Machine 都通过启动运行最小 Linux 操作系统的虚拟机来工作。该 VM 具有特定的磁盘和内存分配,并且有 UI 控件对其进行控制,但这是因为容器在不同的操作系统上运行并且需要实际的虚拟化层。

    在 Linux 上,Docker 还支持多个storage drivers。这些需要不同数量的 Linux 内核支持。 Docker 的早期版本使用了一种叫做devicemapper 的东西,它通过在(通常)一个固定大小的文件中分配空间来工作,然后你给出的dm.basesize 选项很重要(“dm”代表“devicemapper”)。当前版本的 Linux 上的当前版本的 Docker 使用称为 overlay2 的不同驱动程序,它仅将图像和容器内容存储在普通目录中。您仍然需要内核支持,但没有保留或有限的磁盘空间。这也是为什么docker info 输出中唯一的大小数字是内存,这是一种不同的资源。

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 2020-08-04
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多