Dockerfile を使用すると、ユーザーはカスタム イメージを作成できます。 基本構造 Dockerfile はコマンドラインで構成され、# で始まるコメント行をサポートします。 一般的に、Dockerfile は、ベースイメージ情報、メンテナー情報、イメージ操作指示、コンテナ起動時に実行される指示の 4 つの部分に分かれています。 例えば: // 基本的なイメージ情報 FROM daocloud.io/node:7 // メンテナー情報 MAINTAINER abel.yang <[email protected]> LABEL 説明="この画像は Web 用に作成されています" //ミラー操作コマンド RUN mkdir -p /opt/apps/epp コピー . /opt/apps/epp ワークディレクトリ /opt/apps/epp/epp-web/server 環境言語 C.UTF-8 ENV TZ=アジア/上海 RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone エクスポーズ3001 //コンテナが起動したらコマンドCMD [ "npm", "start" ]を実行する このうち、まずベースとなるイメージ名を指定し、次にメンテナー情報を示すことをお勧めします。 これに続いて、RUN 命令などのイメージ操作命令が続き、イメージに対して次のコマンドが実行されます。 RUN 命令が実行されるたびに、新しいレイヤーがイメージに追加され、送信されます。 最後に、コンテナを実行する際の操作コマンドを指定する CMD 命令があります。 命令 INSTRUCTION 引数、命令には FROM、MAINTAINER、RUN などが含まれます。
最初の命令は FROM 命令である必要があります。また、同じ Dockerfile 内に複数のイメージを作成する場合は、複数の FROM 命令を使用できます (イメージごとに 1 回)。 メンテナー 形式は MAINTAINER で、メンテナー情報を指定します。 走る 形式は RUN または RUN ["executable", "param1", "param2"] です。 前者はシェル端末でコマンドを実行します (つまり /bin/sh -c)。後者は exec を使用して実行されます。別の端末を指定するには、RUN ["/bin/bash", "-c", "echo hello"] などの 2 番目の方法を使用します。 各 RUN 命令は、現在のイメージに基づいて指定されたコマンドを実行し、それを新しいイメージとして送信します。コマンドが長い場合は、\ を使用して折り返すことができます。 CMDF 3つのフォーマットをサポート
コンテナの起動時に実行されるコマンドを指定します。各 Dockerfile には CMD コマンドを 1 つだけ含めることができます。複数のコマンドが指定された場合は、最後のコマンドのみが実行されます。 ユーザーがコンテナの起動時に実行するコマンドを指定した場合、CMD で指定されたコマンドが上書きされます。 さらす
相互接続されたシステムで使用するためにコンテナが公開するポート番号を Docker サーバーに伝えます。コンテナを起動するときに -P を渡す必要があり、Docker ホストは指定されたポートに転送するポートを自動的に割り当てます。 環境
追加
コピー
ローカルディレクトリをソースディレクトリとして使用する場合は、COPY を使用することをお勧めします。 エントリーポイント 2 つの形式:
構成コンテナの起動後に実行されるコマンドであり、docker run によって提供されるパラメータによって上書きすることはできません。 各 Dockerfile には ENTRYPOINT を 1 つだけ指定できます。複数の ENTRYPOINT を指定した場合、最後の ENTRYPOINT のみが有効になります。 音量 形式はVOLUME ["/data"]です。 ローカル ホストまたは他のコンテナーからマウントできるマウント ポイントを作成します。通常、これは、維持する必要があるデータベースやデータを保存するために使用されます。 ユーザー 形式は USER daemon です。 コンテナを実行するときにユーザー名または UID を指定します。後続の RUN でも指定されたユーザーが使用されます。 サービスに管理者権限が必要ない場合は、このコマンドを使用して実行ユーザーを指定できます。そして、必要なユーザーを事前に作成しておくことができます たとえば、 ワークディレクトリ
後続の RUN、CMD、および ENTRYPOINT 命令の作業ディレクトリを構成します。 複数の WORKDIR ディレクティブを使用できます。後続のコマンドのパラメータが相対パスの場合、それらは前のコマンドで指定されたパスに基づきます。例えば ワークディレクトリ /a ワークディレクトリb ワークディレクトリ c 実行パスワード 最終パスは /a/b/c です。 オンビルド
作成したイメージを他の新しく作成したイメージのベースイメージとして使用する場合に実行する操作手順を設定します。 たとえば、Dockerfile は次の内容の image-A を作成します。 [...] ONBUILD ADD ./app/src ONBUILD RUN /usr/local/bin/python-build --dir /app/src [...] image-A をベースに新しいイメージを作成し、新しい Dockerfile で FROM image-A を使用してベースイメージを指定すると、ONBUILD 命令の内容が自動的に実行され、最後に 2 つの命令を追加するのと同じになります。 画像Aより #以下を自動的に実行する ./app/src を追加します。 /usr/local/bin/python-build --dir /app/src を実行します。 ONBUILD 命令を使用するイメージの場合は、 画像を作成する Dockerfile を記述したら、docker build コマンドを使用してイメージを作成できます。 docker build -t イメージ名。 // 注意。忘れないでください。 以下は Dockerhub 上の Dockerfile の例 2 つです。 # グーグル # # バージョン 0.0.1 Ubuntuから メンテナー Victor Vieux <[email protected]> apt-get update && apt-get install -y inotify-tools nginx apache2 openssh-server を実行します。 # ubuntu の親イメージに基づいて inotify-tools、nginx、apache2、openssh-server をインストールして、新しい Nginx イメージを作成します。 # VNC 経由の Firefox # #バージョン 0.3 Ubuntuから # 偽のディスプレイとFirefoxを作成するためにvnc、xvfbをインストールします apt-get update && apt-get install -y x11vnc firefox を実行します。 mkdir /.vnc を実行します。 # パスワードを設定する x11vnc -storepasswd 1234 ~/.vnc/passwd を実行します。 #Firefox を自動起動 bash -c 'echo "firefox" >> /.bashrc' を実行します。 エクスポーズ5900 CMD ["x11vnc", "-forever", "-usepw", "-create"] # Ubuntu 親イメージに基づいて、Firefox と VNC ソフトウェアをインストールします。起動後、ユーザーはポート 5900 経由で VNC を介して Firefox を使用できます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: jsはシングルクリックでテーブルを変更することを実装します
目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...
方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...
データベースの統計を行う場合、多くの場合、年、月、日に基づいてデータを収集し、echart を使用し...
1. MySQLリポジトリソースをダウンロードする$ wget http://repo.mysql....
目次1. 基本的なSELECT文1. 指定されたフィールドをクエリする3. エイリアスを設定する4....
1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...
タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...
導入クロージャは JavaScript の非常に強力な機能です。いわゆるクロージャは関数内の関数です...
目次1. v-text (v-instruction name = "variable&q...
まずデータ テーブルを作成しましょう。 使用テスト; テーブル「従業員」を作成します( emp_no...
NginxのGeoモジュールの紹介geo ディレクティブは、ngx_http_geo_module ...
目次1. ソースコード1.1 モノレポ1.2 タイプスクリプト2. パフォーマンス2.1 ソースコー...
目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...
仮想マシンを初めて使用する方や、仮想マシンに Linux をインストールしたばかりの方は、システムが...
MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...