Docker 이미지를 빌드하면 Vagrant가 관리하는 VBox VM이 정지됩니다.

Docker 이미지를 빌드하면 Vagrant가 관리하는 VBox VM이 정지됩니다.

여러분

Docker 이미지를 사용하여 웹 애플리케이션 개발을 연구하던 중 다음과 같은 문제를 발견했습니다.

(아래에 있는 모든 명령은 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에서 실행되는 동안 게스트 VM 자체는 Arch Linux로 구동된다는 점도 언급해야 합니다.

답변1

좀 더 파고들었고 대답은 아주 간단해졌습니다.

내가 실행 중인 Arch Linux Vagrant 상자는 "aufs" 모듈이 내장되지 않은 커널을 사용합니다. Docker는 auf 없이 컨테이너를 실행할 수 있지만 그 위에 추가 레이어를 구성하면 시스템 충돌이 발생할 수 있습니다.

불행하게도 Docker는 aufs가 시스템에 존재하지 않는다는 사실을 사용자에게 경고하지 않습니다.

어쨌든 .. 해결되었습니다.

관련 정보