構文の構成: 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をインストールするチュートリアル
目次Portainerは複数のDockerコンテナ環境を管理します2. Dockerを管理する2.1...
MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...
Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...
目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...
現象Apache Spark 2.x を使用すると、Spark ジョブがすべて完了しているにもかかわ...
データベース内のトランザクションとロックを表示するための一般的なステートメントトランザクションの待機...
初心者が div+css を開発する場合、.ggg、#ccc などの形式の CSS 疑似クラス名を付...
Apache Tomcat は、Java Servlet および Java Server Pages...
Docker の設計では、コンテナは 1 つのアプリケーションのみを実行します。しかし、現在のアプリ...
HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...
MySQL では、ユーザーに付与された権限をどのように確認しますか? ユーザーに付与される権限は、グ...
1. はじめにCentOS8 システムの更新、新しいバージョンは人々に非常に快適に感じさせます。 こ...
以前にも同じような記事を書いたことがありますが、js スクリプトを使用しており、ファイルパスを表示で...
イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間ト...