docker buildでイメージをビルドする

ここでは、GitHubで公開されているdocker-node-helloを使ってビルドしてみます。

はじめに、Gitのレポジトリをクローンします。

$ git clone https://github.com/spkane/docker-node-hello.git 

 

複数のファイルがクローンされますが、ここでは重要なファイルを取り上げていきます。Dockerfileは、イメージを作成するために必要なステップが記載されています。

ENVでshell変数を設定し、RUNでファイルの作成やソフトウェアのインストールなどのコマンドを実行します。CMDでは、コンテナの中で実行するコマンドを設定します。

.dockerignoreでは、dockerで無視するファイルを指定することができます。
例えば、.gitを無視するには、次のように指定します。

$ cat .dockerignore
.git 

準備が整ったので、ビルドしてみます。-tでタグを指定します。

$ cd docker-node-hello/
$ sudo docker build -t example/docker-node-hello:latest .

Sending build context to Docker daemon 15.87kB
Step 1/14 : FROM node:0.10

...
Successfully built b3c837fad13e
Successfully tagged example/docker-node-hello:latest

イメージを無事にビルドできたら、早速起動してみます。ここでは、コンテナのポート8080をDockerホストのポート8080にマップしています。

$ sudo docker run -d -p 8080:8080 example/docker-node-hello:latest 

 問題なく起動しているか次のコマンドで確認することができます。

$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
95a8f357ee72 example/docker-node-hello:latest "supervisord -n" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp stoic_kilby

 詳細はさておき、まづはイメージのビルドと起動手順は、非常に簡単なことがわかったと思います。