Windows + Vagrant + VirtualBox + Docker

f:id:syonx:20140218010456p:plain

概要

話題の Vagrant や Docker とはなんぞ? Windowsで環境構築して試してみたメモ。

この記事の情報はもう古いです。(2014-02)
次の記事もあわせて参照ください。

試してわかったことを先に説明

Vagrant Docker 違い」

こんな検索ワードで調べたりしていましたが、お互い競合するものでもなく、役割の違うソフトウェアだということがわかりました。まとめると、

Dockerの公式サポートは今のところ Ubuntu のみ。「Dockerのインストーラ」があるわけではなくて、 『Dockerを導入済みなUbuntuが配布されていて、それをVirtualBox上で動かすためにイメージのダウンロードと構成の定義をVagrantが自動でやってくれて、それを起動することでDockerが利用できる』という理解に至った。


環境構築手順

参考

Chocolateyのインストール

こんなのがあるんだ。べんり。 VirtualBoxVagrant をインストールするために導入します。以下、Chocolateyを使ったインストール手順を示しますが、ウェブサイトから手作業でインストールしても同じです。

VirtualBoxのインストール

C:\> cinst virtualbox

Vagrantのインストール

C:\> cinst vagrant

※インストール終了後、コマンドプロンプトvagrant コマンドが動作しない場合はWindowsを再起動します。

Docker Vagrantfileのダウンロード

C:\> mkdir docker
C:\> cd docker
C:\docker> wget https://raw.github.com/dotcloud/docker/master/Vagrantfile

wget でエラーが出たので curl を使いました。

C:\docker> curl -L -o Vagrantfile https://raw.github.com/dotcloud/docker/master/Vagrantfile

普段 wgetcurl を使っていないのであれば、直接上記URLにアクセスしてテキストファイVagrantfile(拡張子なし) に保存すればOK。

2014.02.27 追記

VagrantfileがRemoveされたようです。

2014.06.29 追記

上記の対処として公式推奨の Boot2Docker を使ってインストールした方の情報です。Thanks!

Vagrantを使ってVirtualBoxを起動

C:\docker> vagrant up

同階層にあるVagrantfileをもとに処理が行われます。初回はイメージのダウンロードが行われるため、10分弱かかりました。 なお、実体はここにあります。313MB。 C:\Users\username\.vagrant.d\boxes\ubuntu\virtualbox

待っている間にチュートリアルを受けます。

Dockerのチュートリアル

f:id:syonx:20140218012853p:plain

このページにある、Interactive commandline tutorial の Start! ボタンからエミュレータを使ったチュートリアルを受けられます。英語ですが、左下の click here to see the expected command をクリックしてみれば適切なコマンドがわかります。

UbuntuSSH接続

C:\docker> vagrant ssh

これだけで接続できます。vagrant upした時に生成されたキーを使っているようです。 C:\Users\username\.vagrant.d\insecure_private_key 環境によっては、sshコマンドが見つからないと怒られるかもしれません。 僕は TortoiseGit をインストールしたときにSSHクライアントを入れていたので、そのまま接続できました。 ※SSH経由での操作内容が画面上でどうなっているかを確認するためにVirtualBoxから手動で起動を試みましたが、パスワードがわからず断念しました。。

実際にDockerを使ってみる

上記チュートリアルと全く同じことを、自分の作った環境で実行してみます。 SSH接続したUbuntu上でコマンドを実行していきます。 $ docker search tutorialの結果が少し違うくらいで、すんなり進めることができました。

おわりに

はじめはコマンドプロンプト上で C:\> docker などやってエラーとなり「?」となっていましたが、ちゃんと実際に自分の手で試すことでいろいろと理解できました。お役に立てば幸いです。


WEB+DB PRESS Vol.79

WEB+DB PRESS Vol.79

  • 作者: 成瀬ゆい,そらは(福森匠大),西磨翁,小川航佑,佐藤新悟,塚越啓介,藤原亮,堀哲也,田村孝文,桑野章弘,松浦隼人,中村俊之,田中哲,福永亘,杉山仁則,伊藤直也,登尾徳誠,近藤宇智朗,若原祥正,松木雅幸,奥野幹也,後藤秀宣,羽二生厚美,笹田耕一,平河正博,東舘智浩,渡邊恵太,中島聡,A-Listers,はまちや2,川添貴生,山田育矢,伊藤友隆,村田賢太,まつもとゆきひろ,佐野岳人,山口恭兵,千葉俊輝,平松亮介,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/02/22
  • メディア: 大型本
  • この商品を含むブログ (5件) を見る

Vagrant入門ガイド

Vagrant入門ガイド