DockerでUbuntu 16.04 LTSのイメージを利用してみよう

投稿者 : OSCA

概要

 本稿では、Docker で Ubuntu 16.04 LTS のイメージを利用して、Docker の基本操作を学んでみましょう。

Ubuntu 16.04 のイメージを取得する

 Docker はDockerイメージをもとにDockerコンテナを作成する仕組みですので、まずは利用したいDockerイメージを入手する必要があります。 Dockerイメージは、インターネット上でDockerイメージを公開するための Docker Hub というサイトから取得することができます。

 Ubuntu 16.04 のDockerイメージも Docker Hub で公開されています。 Ubuntu のリポジトリはこちらで、Ubuntuのバージョンごとにタグが切られて管理されています。

 それでは Ubuntu 16.04 の Docker イメージを取得しましょう。 Docker イメージの取得は docker pull コマンドを利用します。 docker pull コマンドの書式は次の通りです。

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

 前述の通り Ubuntu のイメージはバージョンごとにタグが切られており、Ubuntu 16.04 のタグ名「16.04」を指定してあげることで、Ubuntu 16.04 の最新版を取得することができます。 よって次のようにコマンドを実行します。

$ docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
1be7f2b886e8: Pull complete
6fbc4a21b806: Pull complete
c71a6f8e1378: Pull complete
4be3072e5a37: Pull complete
06c6d2f59700: Pull complete
Digest: sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696
Status: Downloaded newer image for ubuntu:16.04

 取得したDockerイメージは docker images コマンドで一覧表示できます。 16.04 のタグがついた Ubuntu が取得できたことを確認しましょう。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               0458a4468cbc        3 weeks ago         112MB

Ubuntu 16.04 イメージを使ってみよう

コンテナの作成・起動

 Ubuntu 16.04 のDockerイメージが取得できたら、さっそくコンテナを作成して起動してみましょう。 Dockerイメージからコンテナを作成して起動するには docker run コマンドを利用します。 docker run コマンドの書式は次の通りです。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

 次のように docker run コマンドを実行して、コンテナを作成・起動してみましょう。 ここでは新しく作成するコンテナに ubuntu1604 という名前をつけています。

$ docker run -it -d --name ubuntu1604 ubuntu:16.04
398a562546a16530a9569b9a54734c3be3ce5676286935105745c66021d1bb45

 ここで利用したオプションの意味は次の通りです。

オプション意味
-itコンテナのプロセスにttyを割り当てる。
-dコンテナをバックグラウンドで実行する。
–name作成するコンテナに名前をつけるオプション。

 これでコンテナが作成されて起動されたはずです。 本当に起動されているかを確認するため、起動中のコンテナを一覧表示する docker ps コマンドを実行します。

$ docker ps
CONTAINER ID        IMAGE               COMMAND            CREATED            STATUS              PORTS              NAMES
398a562546a1        ubuntu:16.04        "/bin/bash"        19 seconds ago     Up 24 seconds                          ubuntu1604

 これで Ubuntu 16.04 が利用できるようになりましたので、さっそく Ubuntu 16.04 を操作してみましょう。 docker exec コマンドでコンテナ内のコマンドを実行します。 docker exec コマンドの書式は次の通りです。

docker exec [OPTIONS] CONTAINER COMMAND [ARG..]

 ここでは Ubuntu 16.04 コンテナ内の Bash を実行することで操作します。 次の例のように、コンテナ名に先ほど指定した ubuntu1604 を指定して docker exec コマンドを実行すると、Ubuntu 16.04 の Bash がコマンドを待ち受ける状態になります。 root 権限でコマンドが実行できることがわかります。

$ docker exec -it ubuntu1604 /bin/bash
root@398a562546a1:/# あとは Ubuntu 16.04 におけるコマンドが実行できる

 なお、コンテナ内で exit コマンドを実行することでコンテナから抜け出すことができます。

コンテナの停止・起動

 Ubuntu を一時的に停止する場合ば docker stop コマンドを利用します。 次のように、コマンドの引数としてコンテナ名を指定します。

$ docker stop ubuntu1604
ubuntu1604

 コンテナが停止したことを確認するために、先ほどと同様に docker ps コマンドでコンテナを一覧表示させて状態を確認しましょう。 ただし、停止したコンテナは -a オプションをつけないと表示されませんので、次のように実行します。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS             PORTS             NAMES
e735565de68a        ubuntu:16.04        "/bin/bash"         2 hours ago         Exited (137) 2 minutes ago           ubuntu1604

 停止したコンテナを再度起動したい場合は docker start コマンドにコンテナ名を指定して実行します。

$ docker start ubuntu1604
ubuntu1604

コンテナの削除

 最後に、コンテナを使い終わって不要になった場合は、cocker rm コマンドにコンテナ名を指定すると削除することができます。

$ docker stop ubuntu1604
ubuntu1604
$ docker rm ubuntu1604
ubuntu1604

 コンテナを削除すると、docker ps -a コマンドを実行しても表示されず、削除されたことがわかります。

おわりに

 本稿では Ubuntu 16.04 のDockerイメージを利用して Docker の操作を学んでいました。 Ubuntu 16.04 でのちょっとした作業リハーサルなどに Docker イメージを役立ててみてください。

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。
@engineer_osca