来自守护进程的 Docker 错误响应:处理 tar 文件时出错(退出状态 1):设备上没有剩余空间

Luc*_*ira 5 docker dockerfile docker-compose docker-swarm docker-machine

我需要从虚拟框映像创建泊坞窗的映像。文件大小为 16GB。当我运行命令行时# tar -c . | docker import - <myImagename>出现以下错误。

PS:容器是空的。

错误:

来自守护进程的错误响应:处理 tar 文件时出错(退出状态 1):写入 /var/lib/docker/overlay2/f8bb15057c3b3578c13e1122be1d00ca72b3301b7a0bf27262edc759e9f207fb/diff/var/lib/docker/overlay2/f8bb15057c3b3578c13e1 122be1d00ca72b3301b7a0bf27262edc759e9f207fb/diff/var/lib/cassandra/commitlog/CommitLog -6-1633100360364.log:设备上没有剩余空间

码头工人信息:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.1-docker)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.8
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 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: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e25210fe30a0a703442421b0f60afac609f950a3
 runc version: v1.0.1-0-g4144b63
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1127.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 15.51GiB
 Name: GDBDEV03
 ID: UGGJ:AIIA:7C44:DZXR:PNYH:2WQH:GPKI:TFUL:N2WZ:5RRB:X3JK:VU3B
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
Run Code Online (Sandbox Code Playgroud)

编辑

[root@GDBDEV03 chroot0]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G  8.7M  7.8G   1% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root   14G   13G  1.3G  91% /
/dev/sda1               1014M  152M  863M  15% /boot
tmpfs                    1.6G     0  1.6G   0% /run/user/0
Run Code Online (Sandbox Code Playgroud)

小智 11

第一次运行docker image prune以清理所有悬空图像

如果这没有帮助你可能需要检查这个答案

Docker 错误:设备上没有剩余空间


BMi*_*tch 1

目前尚不清楚您正在尝试做什么(在哪里.,这是本地 docker 引擎还是您将图像发送到远程节点)。将虚拟机镜像放入容器镜像中会产生明显的代码味道(容器不是虚拟机)。

也就是说,根据描述,您尝试在 docker 可用的 1.3G 系统上打包一个 16GB 文件(假设您从 /var/lib/docker 运行 docker)。在任何条件下这都是行不通的。通常,您需要 2-3 倍的可用空间来处理打包层所需的副本。

因此,对于根分区,您需要将其从 14GB 扩展到 45GB(13 个当前分区 + 3x16 个分区)。扩展分区的步骤取决于您的底层存储和文件系统类型,并且更适合 superuser.SE。