Skip to content

DNET_Dockerfile

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Dockerファイル

概要

Dockerイメージ(Dockerの該当節を参照)を作成するために、
Docker Build(Dockerの該当節を参照)コマンドに指定するファイル

詳細

基本構文

# コメント
{命令} {引数}

命令

命令の一覧

# 命令 説明
1 FROM 以降の命令で使う ベース・イメージ を指定する。
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 指定した名前でマウントポイントを作成し、
他から外部マウント可能なボリュームにする。
12 USER RUN、CMD、ENTRYPOINTの実行アカウントを指定する。
13 WORKDIR 作業ディレクトリを指定する(ENVを併用できる)。
14 ARG docker build コマンドで使う変数、フラグを定義する。
15 ONBUILD 次のビルドで実行するコマンドをイメージに仕込むことができるようになる。
要するに,親DockerfileのDockerfileコマンドを子Dockerfileのビルド時に実行できる。
16 STOPSIGNAL コンテナ終了時の、システム・コール・シグナルを設定する。
17 HEALTHCHECK ヘルスチェックを行う。
18 SHELL デフォルトのシェルを上書きする。cmd と powershell を sh に変更可能にする。

CoWレイヤ

  • 一行毎に、CoWのレイヤが積み上がる。
  • 命令を一行にまとめるとレイヤが削減できる。

その他

コメント

「#」行コメントのヘッダ。

シンタックス

LLBを出力するプログラム(フロントエンド)の
コンテナイメージのreference文字列を指定。

# syntax = tonistiigi/pack

パーサ・ディレクティブ

特殊な操作を行うオプション

# ディレクティブ=値

環境変数置換

環境変数の文字列に置換する。

${variable_name}

設定の例

ビルドの例

.netの例

.NET CoreのDockerfile

javaの例

参考

Qiita

移行メモ

  • 命令の一覧の「作業ディレクトリ指定する」は「作業ディレクトリを指定する」、 「コンテナを終了時の」は「コンテナ終了時の」に正した。
  • マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への リンクは、移行済みの MS_DotNetCoreDockerfile に張り替えた。

Tags: 移行, Docker, Dockerfile, コンテナ, ビルド, CoW

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally