docker

Dockerfileの書き方 [15の命令] ドキュメントを読んでみる[前半]

ローカルサーバー環境が必要になったのでDockerを触ってみたでDockerfileの命令が気になってきたのでドキュメント読んでみたのでシェアします。

FROM

必ずFROM命令で始めなければならない。例外としてARG命令を先に記述できる。これはFROM命令の引数として宣言するときに使用する。

FROM イメージ名

RUN

shell形式とexec形式の2つの書き方がある。

例えば変数HOMEの値を表示するとき下記のように記述できる。

exec形式だと$HOMEの値は置き換えされません。

・shell形式($HOMEの値は表示される)

RUN echo $HOME

・exec形式($HOMEの値は表示されない)

RUN ["echo", "$HOME"]

CMD

CMD命令は1つしか記述できない。複数記述しても最後のCMD命令しか実行されない。

exec形式はJSON配列として解釈されるのでダブルクォート(“)を使用すること。シングルクォート(‘)は使用できない。

shell形式とexec形式とENTRYPOINTのデフォルトパラメータの3つの書き方がある。

推奨されているのはexec形式となっている。

・exec形式

CMD ["echo", "hello world"]

LABEL

メタデータを記述できる。

キーバリューペアで記述していく。

ラベルのキーが既に存在していたら上書きされる。

LABEL "author"="Playground"
LABEL version="1.0"
LABEL キー=バリュー
LABEL キー=バリュー

MAINTAINER

廃止予定なのでパス

EXPOSE

どのポート番号をリッスンするか指定

EXPOSE ポート番号

 

ちょっと疲れたので続きはまた今度

ABOUT ME
Umatani
株式会社Playground代表取締役。 18歳から国内大手企業にてエンジニアのキャリアを開始。その後、外資企業に約10年間勤めたのち、フリーランスとして国内複数企業のアプリ開発を経験。2018年に株式会社Playgroundを設立。Swiftスクール事業、iOS受託開発、サーバー受託開発、アプリケーション開発コンサルティング等、幅広く活動中。
株式会社Playgroundのサービス

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA