如何在Ubuntu中增加Docker磁盘映像大小

时间:2018-10-17 05:47:13

标签: docker ubuntu-16.04

我正在尝试在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

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

1)sudo dockerd-存储选择dm.basesize = 100G 2)在/ etc / default / docker中更改DOCKER_OPTS =“-storage-opt dm.basesize = 50G”。

但是这些都没有帮助。在Windows的Docker配置中可以轻松使用此选项。但是如何从Ubuntu终端上做到这一点

1 个答案:

答案 0 :(得分:1)

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

适用于Mac的Docker,适用于Windows的Linux风格的Docker和Docker Machine都可以通过启动运行最低Linux OS的虚拟机来工作。该VM具有特定的磁盘和内存分配,并且具有UI控件,但这是因为容器在不同的OS上运行并且需要实际的虚拟化层。

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