コンテナ テクノロジーの発展に伴い、Docker は徐々に最も人気のあるコンテナ プラットフォームの 1 つになりました。軽量の仮想化テクノロジーである Docker は、コンテナーを構築してデプロイすることで、アプリケーションのクロスプラットフォーム実行を実現できます。 Docker を使用してアプリケーションをコンテナ化するには、まず独自の Docker イメージを作成する必要があります。
この記事では、Dockerfile の作成、Docker イメージのビルド、Docker イメージのアップロードなど、Docker イメージを作成する基本的な手順を紹介します。同時に、読者が独自の Docker イメージをより適切に作成できるように、一般的な Docker イメージ作成テクニックと注意事項も紹介されます。
Dockerfile は、Docker イメージの構築プロセスを定義するテキスト ファイルです。 Docker イメージを作成するとき、Docker は Dockerfile ファイルの指示に従って自動的にビルドします。したがって、Dockerfile の作成は、Docker イメージを作成するための最初のステップです。
Dockerfile には主に次の部分が含まれます:
1) FROM: 基本イメージを定義します。通常、基本イメージは公式に提供され、最適化された Linux バージョンです。
2) メンテナ: 著者情報を定義します。
3) RUN: コマンドを実行します。これは、ソフトウェア パッケージのインストール、環境変数の構成などに使用できます。
4) COPY/ADD: ファイルまたはディレクトリをコンテナにコピーします。
5) WORKDIR: 作業ディレクトリを定義します。
6) EXPOSE: コンテナによって提供されるポート番号を定義します。
7) CMD: コンテナーの起動後に実行するコマンドを定義します。
たとえば、次は簡単な Dockerfile の例です:
FROM ubuntu:18.04 MAINTAINER John DoeRUN apt-get update \ && apt-get install -y nginx \ && rm -rf /var/lib/apt/lists/* COPY index.html /var/www/html/ EXPOSE 80 CMD [“nginx”, “-g”, “daemon off;”]
上記の Dockerfile ファイルは、Ubuntu 18.04 ベース イメージから開始する Docker イメージの構築、Nginx サーバーのインストールと構成、および追加を定義します。 index.html ファイルを Nginx のデフォルト Web サイトのルート ディレクトリにコピーします。
Docker イメージの構築は、Docker イメージ作成の次のステップです。 Docker イメージをビルドする前に、Dockerfile が配置されているディレクトリでターミナルを開き、docker build コマンドを実行する必要があります。 Docker イメージをビルドする場合、-docker build コマンドを使用して Dockerfile パスとイメージ名を指定できます。例:
docker build -t example:1.0 .
上記のコマンドは、現在のディレクトリで Dockerfile ファイルを検索し、次の例を使用します。イメージ名として 1.0 を指定します。
Docker イメージを構築するとき、Docker は Dockerfile ファイル内のすべての命令を実行し、これらの命令に基づいて完全な Docker イメージを構築します。オペレーティング システムと Docker イメージのサイズによっては、Docker イメージの構築プロセスに時間がかかる場合があります。
独自のプライベート イメージ ライブラリを作成する最初のステップは、Docker レジストリをインストールすることです。レジストリには、Docker Registry と Harbor という 2 つのオープンソース実装があります。
Docker Registry の機能は次のとおりです。
Harbor の機能は次のとおりです。
Docker Registry を例として、Docker イメージをアップロードする方法は次のとおりです。
1) Docker Hub 上にイメージ ウェアハウスを作成します。
最初に、Docker Hub に Docker イメージをアップロードし、ミラー ウェアハウスを作成する必要があります。 Docker Hub にログインし、[リポジトリの作成] をクリックして新しいイメージ リポジトリを作成します。ウェアハウスの名前と説明を入力し、パブリック ウェアハウスまたはプライベート ウェアハウスを選択して、それを確認して作成する必要があります。
2) ラベル付け:
ウェアハウスに対応するラベルをローカルの Docker イメージにラベル付けできます。 docker tag コマンドを使用して、たとえば次のようにタグ付けします。
docker tag example:1.0 johndoe/example:1.0
上記のコマンドは、ローカルの example:1.0 イメージに johndoe/example:1.0 タグを付けます。
3) Docker Hub にログインします:
docker login コマンドを使用して、Docker Hub にログインします。例:
docker login -u johndoe -p password
このうち、-u は次の目的で使用されます。ユーザー名を指定し、-p を使用してパスワードを指定します。
4) Docker イメージをアップロードします:
docker Push コマンドを使用して、Docker イメージをアップロードします。例:
docker push johndoe/example:1.0
上記のコマンドは、ローカルの johndoe/example をアップロードします。 :1.0 イメージを Docker In Hub のウェアハウスにコピーします。
1) Dockerfile を作成するときは、Docker の公式ベスト プラクティスとセキュリティ推奨事項に従い、イメージ サイズに注意し、大きすぎないように注意してください。
2) イメージ サイズを削減するには、マルチステージ ビルドを使用します。 Docker は、マルチステージ ビルド、つまり Dockerfile で複数の FROM 命令を定義することをサポートしています。最終イメージに不要なリソースが含まれないようにするには、マルチステージ ビルドを使用します。
3) イメージ サイズを小さくするには、基本イメージの .alpine バージョンを使用します。 .alpine 版のベースイメージは、Docker が公式に提供する簡易版で、他の Linux 版と比べてサイズが小さく、パフォーマンスが優れています。
4) デプロイメントに Docker Compose を使用して、デプロイメント プロセスを簡素化します。 Docker Compose は、複数コンテナーの Docker アプリケーションを定義およびデプロイするために使用できる Docker のコンポーネントです。 Docker Compose を使用すると、複数のコンテナ間の関係を定義したり、環境変数を設定したり、コンテナのポート番号を設定したりできます。
5) Docker イメージのセキュリティに注意し、イメージに機密情報が含まれないようにしてください。パスワードや秘密キーなどの機密情報が含まれる Docker イメージを回避するために、Docker イメージを構築するときに Docker Secrets や Docker Config などの機能を使用できます。
概要
この記事では、Docker イメージを作成するための基本的な手順とテクニックを紹介します。 Docker イメージを作成するには、まず Dockerfile ファイルを作成してコンテナ関連の構成と環境を定義する必要があります。次に、 docker build コマンドを使用して Docker イメージを構築し、最後に docker Push コマンドを使用して Docker イメージをアップロードします。ドッカーハブ。 Docker イメージを作成する場合は、イメージ サイズ、セキュリティ、保守性などの問題に注意する必要があります。
以上が独自の Docker イメージを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。