构建 docker 镜像会导致 Vagrant 管理的 VBox VM 冻结

构建 docker 镜像会导致 Vagrant 管理的 VBox VM 冻结

乡亲们

在研究利用 Docker 镜像进行 Web 应用程序开发时,我偶然发现了以下问题。

(下面找到的所有命令都在 Vagrant 管理的 VBox 虚拟机内执行)

  1. 创建一个自定义Dockerfile并将其放置在$HOME/my_app.

    FROM ubuntu:14.04  
    RUN apt-get -q update && apt-get install -y \  
        python-dev \  
        python-setuptools \  
        && apt-get clean \  
        && rm -rf /var/lib/apt/lists/*  
    RUN easy_install pip  
    RUN pip install virtualenv  
    
  2. 使用上面的构建图像Dockerfile

    sudo docker build -t kamils/my_app:0.1 $HOME/my_app
    

构建过程按计划进行,直到完成第一个 RUN 层。然后虚拟机停止响应。负责的 VBox 进程在主机 CPU 上失控(htop 显示 200% 使用率:P)。

对正在发生的事情有什么想法或者我做错了什么吗?

编辑

(根据要求)free -m输出:

             total       used       free     shared    buffers     cached
Mem:          7890       7410        480        612         30        963
-/+ buffers/cache:       6416       1473    
Swap:         7627       1450       6177

我可能还应该提到,虽然主机在 Ubuntu 14.04 上运行,但来宾虚拟机本身由 Arch Linux 提供支持。

答案1

做了一些进一步的挖掘,答案变得相当简单。

我运行的 Arch Linux Vagrant 盒子使用的内核没有内置“aufs”模块。虽然 Docker 能够在没有 aufs 的情况下运行容器,但在它们之上配置额外的层可能会导致系统崩溃。

遗憾的是 Docker 没有警告用户系统上不存在 aufs。

无论如何..解决了。

相关内容