docker 使用 Linux 容器为 Windows 导入 Docker 没有 space 留在设备错误上,存储驱动程序:overlay2
docker import with Docker for Windows using Linux containers no space left on device error with Storage Driver: overlay2
我正在导入一个 15 GB 的大型数据库图像(我可以毫无问题地导入 9.5 GB 的图像。)使用 Linux 容器 Docker for Windows。我正在使用 Windows 10 Pro 1803, build 17134.1006
.
错误:
PS C:\WINDOWS\system32> docker import "C:\Users\oscar\Desktop\MSSQL.tar" mssql
Error response from daemon: Error processing tar file(exit status 1): write /var/opt/mssql/data/TestDatabase.mdf: no space left on device
我已按照此处的建议删除了所有悬空卷和未使用的图像:
在阅读存储驱动程序时,我遇到了 devicemapper
和其他驱动程序的一些限制。
https://docs.docker.com/engine/reference/commandline/dockerd/#options-per-storage-driver
对于devicemapper
:
Specifies the size to use when creating the base device, which limits
the size of images and containers. The default value is 10G. Note,
thin devices are inherently “sparse”, so a 10G device which is mostly
empty doesn’t use 10 GB of space on the pool. However, the filesystem
will use more space for the empty case the larger the device is.
https://docs.docker.com/engine/reference/commandline/dockerd/#dmbasesize
我找不到 overlay2
的任何图像限制,默认情况下只有 20 GB 的容器限制。
Specifies the size to use when creating the sandbox which is used for
containers. Defaults to 20G.
我尝试 运行 示例命令,但出现错误。 dockerd 未映射到命令。
C:\>dockerd --storage-opt size=40G
'dockerd' is not recognized as an internal or external command,
operable program or batch file.
https://docs.docker.com/engine/reference/commandline/dockerd/#size
既然它无论如何都应该工作,我不确定我是否走在正确的道路上。
系统信息:
PS C:\WINDOWS\system32> docker --version
Docker version 19.03.2, build 6a30dfc
PS C:\WINDOWS\system32> docker info
Client:
Debug Mode: false
Server:
Containers: 5
Running: 0
Paused: 0
Stopped: 5
Images: 8
Server Version: 19.03.2
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 ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.184-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.837GiB
Name: docker-desktop
ID: XD32:TQJ4:EKWP:BPE4:ETXW:XFXE:LB3L:J4WB:PCFR:DAXK:MJ62:47RI
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 28
Goroutines: 42
System Time: 2019-09-17T10:00:50.1259999Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
存储 space 应该不是问题:
我应该学习阅读...阅读它作为 55.29 GB 未使用。在 Docker -> Settings -> Advanced 中增加 Disk image max size 后,一切都开始工作了。
我正在导入一个 15 GB 的大型数据库图像(我可以毫无问题地导入 9.5 GB 的图像。)使用 Linux 容器 Docker for Windows。我正在使用 Windows 10 Pro 1803, build 17134.1006
.
错误:
PS C:\WINDOWS\system32> docker import "C:\Users\oscar\Desktop\MSSQL.tar" mssql
Error response from daemon: Error processing tar file(exit status 1): write /var/opt/mssql/data/TestDatabase.mdf: no space left on device
我已按照此处的建议删除了所有悬空卷和未使用的图像:
在阅读存储驱动程序时,我遇到了 devicemapper
和其他驱动程序的一些限制。
https://docs.docker.com/engine/reference/commandline/dockerd/#options-per-storage-driver
对于devicemapper
:
Specifies the size to use when creating the base device, which limits the size of images and containers. The default value is 10G. Note, thin devices are inherently “sparse”, so a 10G device which is mostly empty doesn’t use 10 GB of space on the pool. However, the filesystem will use more space for the empty case the larger the device is.
https://docs.docker.com/engine/reference/commandline/dockerd/#dmbasesize
我找不到 overlay2
的任何图像限制,默认情况下只有 20 GB 的容器限制。
Specifies the size to use when creating the sandbox which is used for containers. Defaults to 20G.
我尝试 运行 示例命令,但出现错误。 dockerd 未映射到命令。
C:\>dockerd --storage-opt size=40G
'dockerd' is not recognized as an internal or external command,
operable program or batch file.
https://docs.docker.com/engine/reference/commandline/dockerd/#size
既然它无论如何都应该工作,我不确定我是否走在正确的道路上。
系统信息:
PS C:\WINDOWS\system32> docker --version
Docker version 19.03.2, build 6a30dfc
PS C:\WINDOWS\system32> docker info
Client:
Debug Mode: false
Server:
Containers: 5
Running: 0
Paused: 0
Stopped: 5
Images: 8
Server Version: 19.03.2
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 ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.184-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.837GiB
Name: docker-desktop
ID: XD32:TQJ4:EKWP:BPE4:ETXW:XFXE:LB3L:J4WB:PCFR:DAXK:MJ62:47RI
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 28
Goroutines: 42
System Time: 2019-09-17T10:00:50.1259999Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
存储 space 应该不是问题:
我应该学习阅读...阅读它作为 55.29 GB 未使用。在 Docker -> Settings -> Advanced 中增加 Disk image max size 后,一切都开始工作了。