2015年1月28日水曜日

Dockerを味見してみた

ネット散策していたら最近の仮想化技術(コンテナ技術?)で Docker というのが流行っているらしいことがわかりました。比較的簡単に試せるみたいなので、さくらのナリッジのこちらの記事を参考にちょっと試してみます。

1.環境構築

母艦環境は普段使っている Ubuntu14.04 LTS 64bit です。
(Dockerは64bit環境のみサポートのようです)
Synapticで「docker」で検索すると「docker.io」というのがでてきます。説明を見ると「Linux container runtime」ということなので、これがDocker環境のようです。
こいつにチェックマークをつけてインストールします。
インストールが終わったら、コンソールで
$ docker
とすると、説明が出てきました。

2.Hello Worldを試してみる

まず、ちょっと試してみます。
$ docker run ubuntu /bin/echo hello world
2015/01/28 00:49:03 Post http:///var/run/docker.sock/v1.12/containers/create: dial unix /var/run/docker.sock: permission denied
となってエラーになってしまいました。
こちらをみるとどうやら基本は root で弄るもののようです。でも、一般ユーザーでも触る方法があるようなのですが、今回はrootで動かしてみます。
$ sudo docker run ubuntu /bin/echo hello world
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
b39b81afc8ca: Pulling image (latest) from ubuntu, endpoint: https://registry-1.db39b81afc8ca: Download complete 
511136ea3c5a: Download complete 
53f858aaaf03: Download complete 
837339b91538: Download complete 
615c102e2290: Download complete 
hello world
$
待つこと30秒位でしょうか。イメージをダウンロードした後、表示されました。
2回目はすでにイメージがローカルにあるので、一瞬で表示されました。

3.WordPressを動かしてみる

追っかけるだけになってますが、同様にWordPressを動かしてみます。
$ sudo docker build -rm -t tomono/wordpress git://github.com/jbfink/docker-wordpress.git
Warning: '-rm' is deprecated, it will be replaced by '--rm' soon. See usage.
Sending build context to Docker daemon 112.1 kB
Sending build context to Docker daemon 
Step 0 : FROM ubuntu:latest
 ---> b39b81afc8ca
(途中省略)
Step 19 : CMD ["/bin/bash", "/start.sh"]
 ---> Running in 9ed82742d36f
 ---> 0dfcba1fda89
Removing intermediate container 9ed82742d36f
Successfully built 0dfcba1fda89
$
・・・として、イメージが生成されるようです。
で、実行。
$ sudo docker run --name wordpress -d -p 8080:80 -p 2022:22 tomono/wordpress
4d13e5e74ddb45787f9c0e11120d6e88ad9844895a1779a9fe33c8c191104dca
$
ブラウザで 127.0.0.1:8080 にアクセスするとWordPressが動いているのが確認できました。
$ sudo docker stop wordpress
wordpress
$ sudo docker start wordpress
wordpress
$
で停止、スタートも確認できました。

4.不要になったコンテナの削除

最後に不要になったコンテナを
$ sudo docker rm `sudo docker ps -a -q`
4d13e5e74ddb
8e8f4a436e47
29378160a9e8
$
として削除しました。イメージの方は、
$ sudo docker images 
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> eba3c3f6eca6 About an hour ago 458.2 MB
ubuntu latest b39b81afc8ca 10 days ago 188.3 MB
$ sudo docker rmi eba3
Deleted: eba3c3f6eca6595bcb2822b4c532ce47fb99d2ecd6db169c9dffe4beebca644e
(途中略)
Deleted: caa76d7258ec6b0f5d1f1c0e6a7827612fcb0c995cd8654d60d90dd8ff606562
$ sudo docker images 
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest b39b81afc8ca 10 days ago 188.3 MB
$ sudo docker rmi b39b
Untagged: ubuntu:latest
Deleted: b39b81afc8cae27d6fc7ea89584bad5e0ba792127597d02425eaee9f3aaaa462
(途中略)
Deleted: 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158
$ sudo docker images 
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
として削除しました。
まだまださくらのナリッジのこちらの記事にはたくさん説明があります。どんなことができるのか解りやすくて助かります。

0 件のコメント: