![构建 docker 镜像会导致 Vagrant 管理的 VBox VM 冻结](https://linux22.com/image/78263/%E6%9E%84%E5%BB%BA%20docker%20%E9%95%9C%E5%83%8F%E4%BC%9A%E5%AF%BC%E8%87%B4%20Vagrant%20%E7%AE%A1%E7%90%86%E7%9A%84%20VBox%20VM%20%E5%86%BB%E7%BB%93.png)
乡亲们
在研究利用 Docker 镜像进行 Web 应用程序开发时,我偶然发现了以下问题。
(下面找到的所有命令都在 Vagrant 管理的 VBox 虚拟机内执行)
创建一个自定义
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
使用上面的构建图像
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。
无论如何..解决了。