DockerFileはじめに
DockerFileドッカーは、イメージファイルを作成するために使用され、ペースがコマンドや設定パラメータのシリーズです
ドッキングウィンドウのハブで検索し、次のようにCentOSにDockerFileを表示します。
DockerFileの基礎
図1は、各命令は、少なくとも一つのパラメータの後ろに追従するように大文字の単語と字幕を予約しなければなりません
図2に示すように、トップダウン順に命令の実行
3、#はコメントを表し、
図4に示すように、各命令は、新たな画像レイヤを作成し、ミラーコミット
DockerFileのビルドプロセス
図1に示すように、容器ベースイメージからドッカーラン
2、及びコンテナを変更する命令を実行します
図3に示すように、同様の動作がドッキングウィンドウは、新しいイメージレイヤを提出することをコミット行われます
ちょうど新しいコンテナを提出4、ドッキングウィンドウを再びベースのミラーリングを実行
図5に示すように、次の命令は、すべての命令の完了が実行されるまで実行dockerfile
ケース:
あなたを参照することができる[アプリケーション]ドッカーコンテナデータ量(D)二つの方法を追加し、コンテナのデータ量:DockerFileの追加、この手順DockerFIleの比較ビルドプロセスを使用して
DockerFileは予約語
1、FROM
ベース画像は、新しい画像がカレントミラーに基づいています
2、MAINTAINER
ミラーの擁護者の名前と電子メールアドレス
3、RUN
コンテナの建物を実行するコマンドの必要性
4、公開
現在のコンテナ港への外部被ばく
5、WORKDIR
再作成し、指定されたコンテナターミナルは、デフォルトの作業ディレクトリにログインした後、
6、ENV
ミラーの建設過程で環境変数を設定するには
7、ADD
自動的にホストのディレクトリイメージ内のファイルやURLを処理するADDコマンドにコピーされ、tarアーカイブを解凍
8、COPY
ミラー層の新たな位置における<宛先パス>と同様にファイルADD、ドキュメントディレクトリのミラー・コピーに、建物のコンテキストからディレクトリ<ソースパス> /ディレクトリ
COPYのsrc DEST:使用
用法二:COPY [ "SRC"、 "DEST"]
9、VOLUME
永続的なデータストレージと作業用のデータボリュームのコンテナ、
10、CMD
起動コンテナ上で実行するコマンドを指定します。
Dockerfileでは、複数のCMDコマンドを持つことができますが、最後のものだけが動作する、CMDパラメータは、ドッキングウィンドウの実行後に置き換えられます
11、ENTRYPOINT
起動コンテナ上で実行するコマンドを指定します。
ENTRYPOINT目的とCMDは、それが指定されたコンテナ内にあり、プログラムパラメータを開始します
12、ONBUILD
コマンドを実行して継承されたDockerfileを構築する場合、ミラーの父はonbuildの父親のイメージでキルト後にトリガされます
ケース-baseミラー(スクラッチ)
ドッカーハブは画像の99%構築外ミラーベースでソフトウェアをインストールおよび構成することによって要求されています
1最初から
ケースB - カスタムミラーmycentos
1、書き込みDockerFileファイル
1つの #のCentOSのベースイメージミラー 2を CentOSのFROM 。3 。4 #画像守備名及び電子メールアドレス 。5 H__DにMAINTAINER < H__D @ 163.com > 。6 。7つの #環境変数 8 ENV MYPATHは/ usr / local 。9 10 #作業ディレクトリ 11 WORKDIR $ MYPATH 12は、 13である セットアップコマンドVIM構築物を#実行 14 YUM VIMインストール実行-Yを 15 16 ラン#ツールNETビルド取り付けられたとき 。17 ランYUMインストール-Y-NETツール 18である 。19 #は現在のコンテナポートの外側に露出 されている20 80露出 21である 22であります #起動するコマンドを実行する 23 CMDエコー$ MYPATH 24 25 CMDエコー"ビルド成功.............." 26 27 CMD / binに/ bashの
2、建物
フォーマット:TAG:ドッカーが新しいミラー-t名前をビルドします。
命令:ドッキングウィンドウのビルド-f -t dockerfile2テスト/ mycentos:1.2。
3、実行
フォーマット:TAG:ドッカーRUNは新しいイメージ名を-it
コマンド:ドッカー迅速化ITテストRUN / mycentos:1.2
4、変更履歴のリストをミラーリング
フォーマット:ドッカー履歴ミラー名:タグ
コマンド:ドッカー史テスト/ mycentos:1.2
ケースC -CMD / ENTRYPOINTミラーケース
コンテナが指定されている場合、コマンドは実行を開始します
1、CMD:Dockerfileは、複数のCMDコマンドを持つことができますが、最後のものだけが動作する、CMDパラメータは、ドッキングウィンドウの実行後に置き換えられます
次のように1)、dockerfile4を作成します。
1 #CentOSのミラーベースの画像 2が CentOSのFROM 。3 。4 startコマンドを実行#は 5 CMD [ "/ビン/エコー"、 "こんにちは"]
2)dockerfile4により、テストを構築/ミラーリングのMycmd
命令:-f -t dockerfile4テスト/のMycmdドッカビルド。
3)テスト
コマンド:ドッカーは、テストRUN /のMycmdを-IT
命令:ドッキングウィンドウの実行-itテスト/のMycmd / binに/エコー"ABC"
2、ENTRYPOINT:あなたは、パラメータを追加することができます
次のように1)、dockerfile3を作成します。
1つの #CentOSのベースイメージミラー 2 のCentOS FROM 。3 。4 を実行#コマンドを開始する 。5 エントリーポイント[ "/ビン/エコー"、 "こんにちは"] 。6 。7 #ドッカー迅速化IT RUN出力を実行した後[画像] 。8 #ハローワールド 。9 #ドッカーを-it [画像]を実行し、「コマンド」の出力実行した後、 10#ハローコマンドラインを
2)dockerfile3により、試験/ myentrypointミラーリングを構築
命令:ドッキングウィンドウのビルド-f -t dockerfile3テスト/ myentrypoint。
3)テスト
命令:ドッキングウィンドウで実行-itテスト/ myentrypoint
命令:ドッキングウィンドウで実行-itテスト/ myentrypoint "ABC"
Dケース-ONBUILD
ONBUILD:継承されたDockerfileを構築するときにファイル名を指定して実行コマンド、ミラーの父はonbuildの父親のイメージでキルト後にトリガされます
1、新しいdockerfile5ファイルは、次の通り:
1 #CentOSの基礎ミラーミラー 2 FROM CentOSの 3 4 #ミラーリングキルトトリガー 5 ONBUILD RUNエコーは、 "今、ビルドアクションはOKです.............." 6 7 実行]コマンド#開始する 8 CMDを[ "/ binに/ bashの"]
2、dockerfile5テスト/ mycentosを構築することにより:1.5ミラーリング
命令:ドッキングウィンドウのビルド-f -t dockerfile5テスト/ mycentos:1.5。
3、新しいファイルdockerfile6、ベースイメージ、テスト/ mycentosある:1.5、次のように
1つの #CentOSのベースイメージミラー 2 テスト/ mycentos FROM:1.5ため 。3 。4 を実行#コマンドを開始する 。5 CMDを[ "/ binに/ bashの"]
dockerfile6試験/ mycentosにより構築4:1.6ミラーリング
命令:ドッキングウィンドウのビルド-f -t dockerfile6テスト/ mycentos:1.6。
観察を通じて、我々はONBUILDコマンドの役割を見ることができます
Eの例 - カスタム画像Tomcat9