構文の構成: 1 注釈情報 .dockerignore ファイル - 各行に無視ファイルを定義します ............................................................. Dockerfile の一般的な指示: 1 FROM ---ベースイメージを指定する ベースイメージが存在しない場合は、次の形式を使用して Docker Hub からプルされます。 2 MAINTANIER -- Dockerfileを提供する作成者は個人情報を提供する [徐々に放棄される] 使用する形式:
.............................................................. 3 コピー - ホストマシン内のファイルをイメージにコピーします。 ファイルはDockerfileの作業ディレクトリにある必要があります 空白文字で区切られた文字列は "" で区切る必要があります。そうしないと、2 つのファイルとして扱われます。 ファイルコピーのガイドライン: 4 ADD - COPYコマンドに類似 URL パスをサポート ---- ネットワークにアクセスできる場合は、ネットワークにアクセスしてローカルにダウンロードし、イメージにパッケージ化します。 操作ガイドライン: 2 圧縮パッケージの場合は解凍されますが、URLパスで取得したtarファイルは展開されません 3 src が複数ある場合、またはワイルドカードが直接的または間接的に使用されている場合、dest は / で終わるディレクトリ パスである必要があります。dest が / で終わらない場合は、通常のファイルと見なされます。 ............................................................... 5 WORKDIR --作業ディレクトリを指定する 毎回、この命令の後続の命令にのみ影響します
ワークディレクトリ /usr/local/src/ nginx-1.14.2.tar.gz ./ を追加します --影響を受けます ............................................................. 6巻 Docker によって管理されるボリュームのみを定義できます。 実行すると、ホスト ディレクトリの下にボリューム ディレクトリがランダムに生成されます。 7 EXPOSE コンテナが外部と通信できるように指定されたリスニングポートを開きます 使用する形式: プロトコルが指定されていない場合、デフォルト値は TCP になります。 ここで指定されたポートを公開するには、-P オプションを使用してください。 8 環境 イメージに必要な環境変数を定義するために使用され、Dockerfileファイル内の他のコマンドによって呼び出すことができます。 通話形式: ENV <キー> <値> 最初の形式では、キーの後のすべてが <value> の一部と見なされます。したがって、一度に設定できる変数は 1 つだけです。 2番目の形式は、一度に複数の変数を設定するために使用できます。各変数は<key>=<value>です。 複数の変数を定義する場合。すべての機能を同じレイヤーで完了するには、2 番目の方法をお勧めします。具体的な使用法: ENV A /web/html index.html をコピー ${A:-/web/html} docker run で変数を渡す: printenv -- 環境変数情報を出力する .............................................................. 9 RUNコマンド: 使用する形式: 最初の形式では、<command コマンドは通常シェル コマンドであり、"/bin/sh -c"> として実行されます。これは、コンテナー内のこのプロセスの PID が 1 になることができず、Unix シグナルを受信できないことを意味します。したがって、docker stop コマンドを使用してコンテナーを停止すると、このプロセスはシグナルを受信しません。 2番目の構文形式のパラメータはJSON形式の配列であり、<executable>は実行するコマンドであり、次の ........................................................................ 10 CMDコマンド: docker runで実行 文法の書き方には3つの方法がある
2. CMD ["param1","param2"]
二重引用符のみ! CMD ["パラメータ1","パラメータ2"] スクリプトを実行するために使用できます: run_tomcat.sh を追加します /apps/tomcat/bin/run_tomcat.sh chmod +x /apps/tomcat/bin/run_tomcat.sh を実行します。 chown -R tomcat:tomcat /apps /data/tomcat を実行します。 CMD ["/apps/tomcat/bin/run_tomcat.sh"] -- スクリプトを参照してください。 .............................................................. 11 エントリーポイント CMD命令に似た関数は、コンテナのデフォルトの実行プログラムを指定するために使用され、コンテナを別の実行可能プログラムのようにする。 CND とは異なり、この命令で起動されたプログラムは docker run コマンドラインで指定されたパラメータによって上書きされません。また、これらのコマンドラインパラメータは ENTRYPOINT で指定されたプログラムにパラメータとして渡されます。 使用する形式:
docker runコマンドに渡されたコマンドパラメータは、CMDで指定されENTRYPOINTに追加された内容を上書きします。 Dockerfile ファイルにはこのような命令が複数ある場合がありますが、最後の命令のみが有効になります。 docker run を実行する場合、--entrypoint 文字列オプションを使用して渡されたコマンドは、Dockerfile で定義された ENTRYPOINT 命令をオーバーライドできます。 Nginx 設定ファイルがパラメータを受け取れるようにする方法 スクリプトを作成します。
Dockerファイル:
注意: 二重引用符が必要です。 ! ! 12 ユーザーコマンド: イメージの実行時またはDockerfileの実行時にRUN、CMD、またはENTRYPOINTを指定するために使用されます。 デフォルトでは、コンテナは root として実行されます。 形式: <UID> は任意の番号にすることができますが、実際には /etc/passwd 内のユーザーの有効な番号である必要があります。 コンテナ内の/etc/passwdファイルに存在する必要があります ................................................................................................ 13 健康チェック 健康状態のモニタリング 一般的なオプション: 応答値: アプリケーション例:
Dockerfile 内のアプリケーション:
docker run でも定義できます:
.............................................................. 14 SHELLコマンド:
............................................................. 15 STOPSIGNALコマンド: STOPSIGNAL 信号名 停止コマンドの信号を定義します。 SIGKILL --9 シグナル ............................................................. 16 ARGパラメータ: dockerビルドプロセスで使用される --build-arg によってパラメータとして渡すことができます。
docker ビルド中に dockerfile 内の arg 変数が --build-arg 変数で設定されている場合、コマンドライン インターフェイスの変数値が最終値になります。 17 オンビルド Dockerfileでトリガーを定義するために使用します ビルド プロセス中に次の Dockerfile の from 指定が実行されると、ONBUILD で指定されたトリガーがトリガーされ、そのベース イメージの Dockerfile ファイルが作成されます。 形式: 任意のコマンドをトリガー コマンドとして登録できますが、ONBUILD はそれ自体の中にネストすることはできず、メンテナー コマンドからトリガーされることもありません。 onbuildディレクティブを含むDockerfileを使用して構築されたイメージは、ruby:2.0-onbuildなどの特別なタグを使用する必要があります。 指定されたソース ファイルが見つからない場合、ビルド プロセス コンテキストが失敗するため、onbuild ディレクティブで add または copy ディレクティブを使用する場合は、細心の注意を払ってください。 他の人がこの画像を参照すると実行されます!最初のビルドプロセスでは実行されません 以下もご興味があるかもしれません:
|
<<: mysql 5.7.18 winx64 無料インストール設定方法
>>: Windows10にmysql5.7.18をインストールするチュートリアル
オペレーティングシステム: Alibaba Cloud ESC インスタンス centos7.4ソフ...
フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...
目次1. プロジェクトの説明: 2. プロジェクト環境: 2. プロジェクトの手順: 3. プロジェ...
目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...
Docker 公式ドキュメントからの翻訳、原文: https://docs.docker.com/n...
クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...
ソフトウェアのグリーンバージョンとインストールバージョンの違いは何ですか?通常、ファイルのインストー...
序文この記事では、DBA がいないチームが参考にできるように、MySQL の一般的な使用に関するヒン...
昨年の前半から開発と娯楽のために Linux を使い始めましたが、今では Windows には戻れま...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントでJOIN句...
メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...
目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...
仮想化1. 環境セントオス7.3 selinuxとファイアウォールを無効にする2. 仮想化環境の構成...
この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...