使用qemu-img创build磁盘映像会导致docker-compose版本由于空间不足而失败

我刚做了一个IDS的Linux发行版Security Onion,工作在Docker KVM容器中。 ( Repository )然而,磁盘镜像会造成docker-composer build崩溃

我的电脑有300GB的免费。 我为KVM容器创build一个磁盘映像:

qemu-img create ./image/disk.img 20G

当我再次构buildDocker镜像时,Docker组合抛出

OSError: [Errno 28] No space left on device

我必须删除磁盘映像或更新$TMPDIR目录到/home/tmp (它有足够的空间),使docker-compose build重新生成工作。 我注意到由docker-composer在/home/tmp创build的tmp文件可以增长到20GB。 计算机在构build过程中也处于冻结状态。

为什么磁盘映像导致构build过程由于空间问题而失败? 磁盘映像只需要20GB。

错误:

 Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/docker/utils/utils.py", line 113, in create_archive with open(os.path.join(root, path), 'rb') as f: IsADirectoryError: [Errno 21] Is a directory: '/home/user/project/src/client/component' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/docker-compose", line 11, in <module> load_entry_point('docker-compose==1.17.1', 'console_scripts', 'docker-compose')() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 68, in main command() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 121, in perform_command handler(command, command_options) File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 249, in build build_args=build_args) File "/usr/lib/python3.6/site-packages/compose/project.py", line 343, in build service.build(no_cache, pull, force_rm, build_args) File "/usr/lib/python3.6/site-packages/compose/service.py", line 923, in build shmsize=parse_bytes(build_opts.get('shm_size')) if build_opts.get('shm_size') else None, File "/usr/lib/python3.6/site-packages/docker/api/build.py", line 150, in build path, exclude=exclude, dockerfile=dockerfile, gzip=gzip File "/usr/lib/python3.6/site-packages/docker/utils/build.py", line 14, in tar root=root, fileobj=fileobj, gzip=gzip File "/usr/lib/python3.6/site-packages/docker/utils/utils.py", line 117, in create_archive t.addfile(i, None) File "/usr/lib/python3.6/tarfile.py", line 1972, in addfile self.fileobj.write(buf) File "/usr/lib/python3.6/tempfile.py", line 483, in func_wrapper return func(*args, **kwargs) OSError: [Errno 28] No space left on device