OSS編~Dockerを試してみる①~

Dockerはコンテナ型の仮想化ソフトウェアです。

従来のハイパーバイザによってハードウェアを仮想化する方法と違い、

コンテナ型はホストOS上でコンテナと呼ばれる隔離空間を作成して、OS実行環境を作ります。

システムの分離には Linux Containers (LXC) を、ファイルシステムまわりには Advanced multi layered unification filesystem (Aufs)が利用されています。

また、Docker 0.9からはカーネルのコンテナAPIを直接叩く事でLXC(Linux Containers)が無くても稼働するようになっています。

それでは実際に試してみます!

環境準備

1.環境準備

Dockerを稼働させるインスタンスを用意しておきます。

Amazon Linux は2014.03 ReleaseバージョンではリポジトリにDockerが存在します。

※今回は検証の為、AmazonLinuxのコンテナイメージは作成せずにBaseを利用します。

Dockerの利用

2.インストール

Dockerをインストールします。

1# yum install -y docker

バージョンを確認してみます。

1# docker -v2Docker version 0.9.0, build 2b3fdf2/0.9.0

続いて、起動します。

1# service docker start

3.試してみる

Dockerを実際に試してみます。

baseというコンテナイメージを利用して”Hello”と表示してみます。

1# docker run -i -t base /bin/echo "Hello"

Dockerでは指定されたコマンドを完了するとコンテナを停止します。

1# docker ps23CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

bashを利用してコンテナにアクセスしてみます。

1# docker run -i -t base /bin/bash2root@ded6e479031a:/# ifconfig3eth0      Link encap:Ethernet  HWaddr 92:99:1a:e8:90:004          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.05          inet6 addr: fe80::9099:1aff:fee8:9000/64 Scope:Link6          UP BROADCAST RUNNING  MTU:1500  Metric:17          RX packets:3 errors:0 dropped:0 overruns:0 frame:08          TX packets:6 errors:0 dropped:0 overruns:0 carrier:09          collisions:0 txqueuelen:100010          RX bytes:258 (258.0 B)  TX bytes:468 (468.0 B)1112lo        Link encap:Local Loopback13          inet addr:127.0.0.1  Mask:255.0.0.014          inet6 addr: ::1/128 Scope:Host15          UP LOOPBACK RUNNING  MTU:1500  Metric:116          RX packets:0 errors:0 dropped:0 overruns:0 frame:017          TX packets:0 errors:0 dropped:0 overruns:0 carrier:018          collisions:0 txqueuelen:019          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

「-d」オプションを利用してバックグラウンドで走らせてみます。

1# docker run -i -d -t base /bin/bash27f59895f13a111331a0944891f6a73ef3eb48fb175c8d04cc1712af189b8e9e5

一覧で確認してみます。

1# docker ps23CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES47f59895f13a1        base:latest         /bin/bash           6 seconds ago       Up 5 seconds                            prickly_torvalds

prickly_torvalds

アクセスしてみます。

1# docker attach [CONTAINER ID]2root@7f59895f13a1:/#

最後に停止中のコンテナ一覧を確認してみます。

1# docker ps -a23CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES47f59895f13a1        base:latest         /bin/bash           15 minutes ago      Exit 0                                  prickly_torvalds5ded6e479031a        base:latest         /bin/bash           29 minutes ago      Exit 0                                  compassionate_poincare6be24cac91cb2        base:latest         /bin/echo Hello     39 minutes ago      Exit 0                                  distracted_bohr

いかがでしたでしょうか?

次回は『 OSS編~Dockerを試してみる②~ 』と題して、DockerでApcheのイメージを作成してみたいと思います。

お楽しみに!!!

この記事を書いた人

aws-recipe-user