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

これが将来的に誰かに役立つことを願っています。

関連情報