VagrantにParallels向けのboot2dockerのBoxがあり、Parallelsでポートフォワーディングができるようなので、このBoxを使ってdockerを実行してみました。
イメージとしては、コマンドラインユーティリティboot2docker
の代わりに、vagrant
でboot2dockerを起動、終了させるようになります。
Vagrantでのboot2dockerの起動
Vagrant Parallels Providerを導入後に次のようにするだけです。
$ vagrant plugin install vagrant-parallels # プラグイン未導入なら $ vagrant init yungsang/boot2docker $ vagrant up --provider=parallels
Parallelsでのポートフォワーディング設定
boot2dockerとdocker
コマンドはポート4243のtcpで通信しているので、次のような手順でParallelsにポートフォワーディング設定をします。
まず、boot2dockerにログインしてIPアドレスを確認します。
$ vagrant ssh $ ifconfig
そうしたら、Parallelsを起動して、Preferencesを開いて、AdvancedからNetwork: Change settings…をクリック。
Port Forwarding rulesに次のような設定を追加します。Virtual Machine’s IP Addressは先ほど見たアドレスを指定します。
設定ダイアログはこんな感じにします。
Docker実行
あとは、以前の記事「MacでDocker 0.8.0を利用してみる」と同じようにdocker
でいろいろできるようになっています。
$ export DOCKER_HOST=tcp://127.0.0.1:4243 $ docker search tiny $ docker pull jprjr/docker-tinyfs $ docker run jprjr/docker-tinyfs uname -a $ docker run -t -i jprjr/docker-tinyfs /bin/sh
環境設定をいじる必要が無いパターンを思いつきました。
返信削除$ vagrant plugin install vagrant-parallels
$ vagrant init parallels/boot2docker
$ vagrant up --provider parallels
$ export DOCKER_HOST="tcp://`vagrant ssh-config | sed -n "s/[ ]*HostName[ ]*//gp"`:4243"
$ docker version
コメントありがとうございます。
返信削除ゲストOSのIPが頻繁に変わるような場合には、
そちらのほうが汎用的でよさそうですね。