Docker가 설치된 Vagrant 상자 만들기

Docker가 설치된 Vagrant 상자 만들기

좋은 놀이터를 만들려고 노력 중이에요루스트어바웃존재하다도보 여행가Vagrant 기반 precise64상자. (코드는 GitHub에서 찾을 수 있습니다:rfkrocktk/docker-vagrant-playground)

내 인스턴스에 대한 Puppet 구성 종속성은 다음과 같습니다.

# Puppet for Docker Vagrant Box
node default {
    # apt
    class { 'apt': }

    apt::source { 'docker':
        location => "http://get.docker.io/ubuntu",
        key => "36A1D7869245C8950F966E92D8576A8BA88D21E9",
        release => "docker",
        repos => "main",
        include_src => false
    }

    package { 'raring-kernel':
        name => 'linux-image-generic-lts-raring',
        ensure => present
    }

    package { 'lxc-docker':
        require => [apt::source["docker"], Package["raring-kernel"]]
    }
}

(이것은 다음과 같습니다Ubuntu 12.04 LTS에 Docker 설치 가이드.)

불행히도 Docker에는 더 높은 버전의 커널(>= 3.9)이 필요하기 때문에 이 문제에 직면했습니다. 이것이 패키지가 linux-image-generic-lts-raring종속성으로 선언된 이유입니다. 그것은 또한 필요하다달리기이 커널은 LXC를 올바르게 사용할 수 있습니다(그리고 Docker를 강제로 사용하도록 합니다).

vagrant up또는 를 실행 한 후 vagrant provision새 커널로 부팅할 수 있도록 상자를 재부팅했습니다.

안타깝게도 VirtualBox Guest Additions가 DKMS에 제대로 등록되지 않은 것 같습니다.

Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant

precise64Raring 커널을 기반으로 한 상자를 올바르게 실행하고 설치하는 쉬운 방법이 있습니까? Docker 실험을 위해 준비된 가상화된 환경을 사용하여 빠르게 시작할 수 있기를 원합니다.

답변1

확실히,Phusion은 자체 Ubuntu 12.04 Vagrant 상자를 포장합니다.Docker를 더 쉽게 사용하기 위해 필요한 3.8 커널을 실행합니다. 그들은 또한 제공합니다메모리 및 스왑 컴퓨팅LXC에서 이러한 기능을 사용할 수 있도록 하는 커널 초기화 매개변수입니다.

이 상자를 사용하려면 Vagrantfile에서 상자 이름과 URL을 업데이트하면 됩니다.

# ...
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "phusion-open-ubuntu-12.04-amd64"
    config.vm.box_url = "https://oss-binaries.phusionpassenger.com/vagrant/boxes/ubuntu-12.04.3-amd64-vbox.box"
    # ...
end

Docker 패키지와 리포지토리는 여전히 위와 같이 구성되어야 합니다.

또한 Hiera 경고를 해결하려면 솔루션이다른 질문에 대한 이 답변에서 찾을 수 있습니다..

이제 Vagrant를 사용하여 Docker를 시작하는 것은 매우 쉽습니다.

$ git clone [email protected]:rfkrocktk/docker-vagrant-playground.git
$ cd docker-vagrant-playground
$ vagrant up
$ vagrant ssh

이것이 미래에 누군가에게 도움이 되기를 바랍니다.

관련 정보