月別アーカイブ: 2014年6月

Docker 1.0 Release ! と言うことでインストールしてみた

Dockerが1.0としてリリースされました。

IT’S HERE: DOCKER 1.0
http://blog.docker.com/2014/06/its-here-docker-1-0/

これまで気になっていたけど手を出してこなかった

  • Vagrant
  • Docker

を触ってみたい!
参考にしたのはこちら

Windows + Vagrant + VirtualBox + Docker
http://syonx.hatenablog.com/entry/2014/02/18/010757

ちなみに仕事では、Docker や Vagrant, VirtualBox は全く触っていないんだけど、それはそれ。これはこれだ。

まず、VirtualBox や Vagrant をWindows へインストールするのには、普通にインストーラーを使用してもいいのだが、どうやらChocolatey なるものがあるらしい!
と言うことで、早速インストールだ!

> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Chocolatey のインストールは、見ての通りPowershell を使用したコマンドラインによって行える。面白い形ですね。

無事にインストールが完了したら、まずはVirtualBox, Vagrant をインストールしてみる

>cinst virtualbox
>cinst vagrant

Vagrant のインストールは、実は一度タイムアウトのエラーが出て失敗したのだが、
もう一度コマンドを叩いたら無事にインストール出来た。

ここまで来て、参考HPに書いてある vagrantfile が存在せず、手順を進めることができない。
Vagrantfileを公開しておく事に関して幾つかの問題があって公開をやめてしまったようだ。

公式を見る限り、Windows環境で使うためには、Boot2Dockerを利用することを推奨している。

Installation Microsoft Windows
https://docs.docker.com/installation/windows/

Boot2Docker
https://github.com/boot2docker/boot2docker

Windows向けにはInstallerが提供されている

https://github.com/boot2docker/windows-installer/releases

これにはVirtualBoxも含まれている。ちなみに同梱されているVirtualBoxは4.3.12
さっき Chocolatey 経由で落としてきたものと同じ。

Boot2Dockerに関しては、インストーラにしたがって入れればOK。
とりあえず、Hello World してみた

docker@boot2docker:~$ docker run busybox echo hello world
Unable to find image 'busybox' locally
Pulling repository busybox
a9eb17255234: Pulling image (latest) from busybox, endpoint: https://cdn-registr
a9eb17255234: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
120e218dd395: Download complete
hello world

うむ。
バージョンを表示する

docker@boot2docker:~$ docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 63fe64c

うむ。

Docker自身がGoで書かれているのでGoのバージョンまで出ている。
一応、VirtualBoxのマネージャで見てみても動いている事が分かる

さて、よくよく考えてみると、Vagrantが放置されている。

Boot2Docker は、Docker インストール済みのイメージを使うだけ。
Vagrant は Docker がインストールされた Ubuntu をインストールするだけなので、
Ubuntu を普通に Vagrant を使ってインストールすればいいのでは?ということでやってみる。

参考:VagrantでUbuntuをインストール
http://qiita.com/awakia/items/895b3d61311b19737237

OSのイメージとしては以下のページから好きなものを選んでvagrantに食わせてあげればいい

http://www.vagrantbox.es/

Ubuntu だけでそれなりに色々とあって、何を選ぶとどうなのか?というのはさっぱりわからないが、とりあえず、最新っぽいやつを入れてみることにした

C:\Dev\docker>vagrant box add ubuntu https://cloud-images.ubuntu.com/vagrant/tru
sty/current/trusty-server-cloudimg-i386-vagrant-disk1.box
==> box: Adding box 'ubuntu' (v0) for provider:
box: Downloading: https://cloud-images.ubuntu.com/vagrant/trusty/current/tru
sty-server-cloudimg-i386-vagrant-disk1.box
box: Progress: 100% (Rate: 930k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'ubuntu' (v0) for 'virtualbox'!

OKOK

では、Vagrant up しよか

C:\Dev\docker>vagrant up
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.

Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
this to be available on the PATH. If VirtualBox is installed, please find the
`VBoxManage` binary and add it to the PATH environmental variable.

なぬ。

パスが通っていないか?

インストール時にPath変数の値が省略形で書き込まれているので、これを修正して実行するとちゃんと動いた

うん、VirtualBox上でも動いているな。名前はちょっとあれだけど…

あ、Ubuntu 上での Docker 試してなかった。
まぁ、今日はこの辺りまでとしよう。

何れにしても、本題は Docker へのアプリのデプロイ周りになってくるので、この辺りはもう少しいじってみてというところだろうか。
Chocolatey の考え方ややり方と言うのは、それほど複雑ではないのでなんか参考に出来そうな気がする。

インストールやデプロイ周りはどうしても面白くないトラブルが無くならないので
簡単に出来る部分は簡単にする手法を見習って取り入れて行きたいところだ。

実践 Vagrant
実践 Vagrant

posted with amazlet at 14.06.10
Mitchell Hashimoto
オライリージャパン
売り上げランキング: 42,962
Docker入門 Immutable Infrastructureを実現する
技術評論社 (2014-04-25)
売り上げランキング: 336