プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

【Docker】Docker教科書を読んでDockerを身に付ける③

  • 2018年8月26日
  • Docker
  • 219view
  • 0件

はじめに

前回まで
【Docker】Docker教科書を読んでDockerを身に付ける①
【Docker】Docker教科書を読んでDockerを身に付ける②

Dockerfileとは

公開されているDockerイメージをダウンロードしてそのまま使うのではなく、
自分用に必要な設定を整えたDockerイメージを使用したい。
その場合にDockerfileというファイルを用意し設定を書く。
Dockerはその設定を読込むことで、必要なDockerイメージを自動的に作ることができる。

makeツールのMakefileや、cmakeのCMakeListsのようなイメージ。
DockerイメージをテキストベースであるDockerfileを使って作成するようにしておくことで、面倒なインフラ部分もソースで管理できるというのがメリット。

Dockerfileの書き方

書き方はシンプルで以下のような書式となる。
実行時には一行ずつ順番に実行される

[shell] #コメント
{命令}{引数}
[/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]