「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Docker]]

*目次 [#v6555c8a]
#contents

*概要 [#c4e55d6a]
Dockerイメージを作成するファイル。
[[Dockerイメージ>Docker#vee01503]]を作成するために、[[Docker Build>Docker#t78af897]]コマンドに指定するファイル

*詳細 [#v68a7d71]
基本構文
 # コメント
 {命令} {引数}

**命令 [#u2c8f9c1]

***命令の一覧 [#ia0f7565]
|#|命令|説明|h
|1|FROM|以降の命令で使う ベース・イメージ を指定する。&br;1行めを FROM 命令で指定する必要がある。|
|2|MAINTAINER|生成するイメージの Author (作者)フィールドを指定する。|
|3|RUN|2つの形式があり何れもコマンドを実行する|
|4|CMD|RUNと似ていて、3つの形式があり、コンテナ実行時のデフォルトを提供する。|
|5|LABEL|イメージにキー・バリューのメタデータを追加する。|
|6|EXPOSE|特定のコンテナが実行時にポートをリッスンすることを Docker に伝える。|
|7|ENV|環境変数と値をセットできる(1つ、若しくは複数)。|
|8|ADD|ファイルやディレクトリをコピーする。|
|9|COPY|ADDと似ているが、リモート、自動解凍の機能が無い。|
|10|ENTRYPOINT|CMDと同様、2つの形式があり、CMDと連携して使われる。|
|11|VOLUME|指定した名前でマウントポイントを作成し、&br;他から外部マウント可能なボリュームにする。|
|12|USER|RUN、CMD、ENTRYPOINTの実行アカウントを指定する。|
|13|WORKDIR|作業ディレクトリ指定する(ENVを併用できる)。|
|14|ARG|docker build コマンドで使う変数、フラグを定義する。|
|15|ONBUILD|次のビルドで実行するコマンドをイメージに仕込むことができるようになる。&br;要するに,親DockerfileのDockerfileコマンドを子Dockerfileのビルド時に実行できる。|
|16|STOPSIGNAL|コンテナを終了時の、システム・コール・シグナルを設定する。|
|17|HEALTHCHECK|ヘルスチェックを行う。|
|18|SHELL|デフォルトのシェルを上書きする。cmd と powershell を sh に変更可能にする。|

***CoWレイヤ [#d094a05b]
-一行毎に、CoWのレイヤが積み上がる。
-命令を一行にまとめるとレイヤが削減できる。

**その他 [#l4386cf0]
***コメント [#e543cc15]
「#」行コメントのヘッダ。

***シンタックス [#t333be99]
LLBを出力するプログラム(フロントエンド)の~
コンテナイメージのreference文字列を指定。
 # syntax = tonistiigi/pack

***パーサ・ディレクティブ [#v5403108]
特殊な操作を行うオプション
 # ディレクティブ=値

***環境変数置換 [#g39c5de4]
環境変数の文字列に置換する。
 ${variable_name}

*例 [#x5301343]

**設定の例 [#e8aecaf3]

-Dockerfileを使って設定ファイルを~
カスタマイズしたapache環境の構築 | masaki-blog~
https://masaki-blog.net/docker-apache-dockerfile

**ビルドの例 [#ad1eef52]

***[[.netの例>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core%E3%81%AEDockerfile]] [#n11f1393]

***javaの例 [#p4be6360]

*参考 [#j3a138fe]
-Dockerfile reference~
https://docs.docker.com/engine/reference/builder/
-Dockerfile のベストプラクティス — Docker-docs-ja 1.9.0b ドキュメント~
https://docs.docker.jp/engine/articles/dockerfile_best-practice.html

**Qiita [#a40f2f42]
-Docker multi stage buildで変わるDockerfileの常識~
https://qiita.com/minamijoyo/items/711704e85b45ff5d6405

-Dockerfileを書くためのベストプラクティス【参考訳】v18.09~
https://qiita.com/zembutsu/items/a96b68277d699f79418d

-効率的に安全な Dockerfile を作るには~
https://qiita.com/pottava/items/452bf80e334bc1fee69a

-Dockerfileの書き方を理解して、Dockerfileでnginxを起動させる~
https://qiita.com/roko18366758/items/cda1291d69e334acbf24

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS