はじめに
前回まで
【Docker】Docker教科書を読んでDockerを身に付ける①
【Docker】Docker教科書を読んでDockerを身に付ける②
Dockerfileとは
公開されているDockerイメージをダウンロードしてそのまま使うのではなく、
自分用に必要な設定を整えたDockerイメージを使用したい。
その場合にDockerfileというファイルを用意し設定を書く。
Dockerはその設定を読込むことで、必要なDockerイメージを自動的に作ることができる。
makeツールのMakefileや、cmakeのCMakeListsのようなイメージ。
DockerイメージをテキストベースであるDockerfileを使って作成するようにしておくことで、面倒なインフラ部分もソースで管理できるというのがメリット。
Dockerfileの書き方
書き方はシンプルで以下のような書式となる。
実行時には一行ずつ順番に実行される
{命令}{引数}
[/shell]
例えば、Dockerでubuntu16.4の環境をベースにしたい場合
dockerfile.txt
[shell]
FROM ubuntu:16.04
[/shell]
Dockerfileを作ったディレクトリで以下コマンドを叩く
これでDockerfileを元にimageをbuildすることができる
docker build -t {image名称} .
ubuntuという名称のdockerimageを作る場合
[shell]
docker build -t ubuntu .
[/shell]
imageが作られたかどうかの確認
[shell]
docker images
[/shell]
コンテナを起動
docker run -it {image名称}
[shell]
docker run -it ubuntu
[/shell]
上記のDockerfileではベースイメージ指定しているだけだが、その後にApache入れたりなんだりとコマンドを書き足していくことで、一発でインフラ環境の整ったimageを作ることができる。
Dockerfileの編集方法は、書き足す度にbuildするのではなく、作ったimageのコンテナ内で作業を進めつつ、通ったコマンドをDockerfileに追記していくというやり方が正しいらしい。
コンテナの中に入るには以下
[shell]
docker run -it {image id}
[/shell]