VagrantにParallels向けのboot2dockerのBoxがあり、Parallelsでポートフォワーディングができるようなので、このBoxを使ってdockerを実行してみました。
イメージとしては、コマンドラインユーティリティboot2docker
の代わりに、vagrant
でboot2dockerを起動、終了させるようになります。
Vagrantでのboot2dockerの起動
Vagrant Parallels Providerを導入後に次のようにするだけです。
1 2 3 | $ vagrant plugin install vagrant-parallels # プラグイン未導入なら $ vagrant init yungsang /boot2docker $ vagrant up --provider=parallels |
Parallelsでのポートフォワーディング設定
boot2dockerとdocker
コマンドはポート4243のtcpで通信しているので、次のような手順でParallelsにポートフォワーディング設定をします。
まず、boot2dockerにログインしてIPアドレスを確認します。
1 2 | $ vagrant ssh $ ifconfig |
そうしたら、Parallelsを起動して、Preferencesを開いて、AdvancedからNetwork: Change settings…をクリック。
Port Forwarding rulesに次のような設定を追加します。Virtual Machine’s IP Addressは先ほど見たアドレスを指定します。
設定ダイアログはこんな感じにします。
Docker実行
あとは、以前の記事「MacでDocker 0.8.0を利用してみる」と同じようにdocker
でいろいろできるようになっています。
1 2 3 4 5 | $ 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が頻繁に変わるような場合には、
そちらのほうが汎用的でよさそうですね。