プログラミング学習記録#15 Dockerfile
●Dockerfileとは・・・
イメージの構成を定義するファイル
・Docker独自の言語を使って命令を記載する
書き方
コメントには#をつける
●FROM
dockerイメージのベースとなるイメージを指定
FROM <image>[:<tag>]
ex)
FROM ubuntu:21.10
・DockerfileはFROMから始める
・ベースイメージはDocker Hubを参考にする
●RUN
Dockerイメージをビルドするときに、コンテナ内で実行するコマンドを定義する
RUN <コマンド>
ex)
RUN apt update \
&& apt install -y apache2
・複数のコマンドを一度にまとめて実行する場合は「&&」でつなげる
・複数業になる場合は「\」でつなげる
●CMD
コンテナ実行時にデフォルトで実行するコマンドを指定する
CMD [“実行ファイル”, “パラメータ”, “パラメータ2”]
ex)
CMD [“apachectl”, “-D”, “FOREGROUND”]
・exec形式と呼ばれる記法
・[]で囲み一つずつのパラメータを”ダブル”クォーテーションで囲む
・webサーバーのコンテナであれば、Webサーバーを起動するコマンドを指定する
●Dockerfileの作成手順
①ベースイメージを決める
DockerHubを参考にして決める(ubuntuやdebianなど)
②Dockerコンテナに入る
・ベースイメージを決めた段階で一度コンテナを起動する
・Dockerfileに記載する前に実行したいコマンドがコンテナ内で動作するか実際に確かめる
③必要な作業を行う
・コンテナ内で動作確認を行う
④Dockerfileに記載する
実際に実行できて問題なければ②、③の工程で実行したコマンドなどをDockerfileに記述する
⑤イメージとコンテナを作り直す
Dockerfileが完成したら改めてイメージとコンテナを作成し直す