ホームページ  >  記事  >  運用・保守  >  Linux サーバー上に効率的な Docker イメージ ウェアハウスを構築するにはどうすればよいですか?

Linux サーバー上に効率的な Docker イメージ ウェアハウスを構築するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-07-29 17:13:261173ブラウズ

Linux サーバー上に効率的な Docker イメージ ウェアハウスを構築するにはどうすればよいですか?

コンテナ化テクノロジーの発展と普及により、Docker は最も人気のあるコンテナ化ソリューションの 1 つになりました。 Docker を使用して大規模なアプリケーションを構築および管理する場合、効率的な Docker イメージ ウェアハウスが非常に重要です。導入とスケーリングのプロセスが高速化されるだけでなく、開発者の生産性も向上します。この記事では、Linux サーバー上に効率的な Docker イメージ ウェアハウスを確立する方法と、対応するコード例を紹介します。

  1. Docker と Docker Registry のインストール

まず、Linux サーバーに Docker と Docker Registry をインストールする必要があります。 Docker は公式のインストール スクリプトを通じてインストールできます。具体的なプロセスについては、Docker の公式ドキュメントを参照してください。 Docker をインストールした後、次のコマンドを使用して Docker Registry をインストールできます。

$ docker run -d -p 5000:5000 --restart=always --name registry registry:2

このコマンドは、サーバー上で Docker Registry コンテナーを起動し、コンテナー内の 5000 ポートをサーバーの 5000 ポートにマップします。

  1. Docker Registry の構成

Docker Registry をインストールした後、効率を高めるためにいくつかの構成を行う必要があります。まず、安全でないイメージ転送を許可するように Docker 構成ファイルを変更する必要があります。 /etc/docker/daemon.json ファイルを編集し、次の内容を追加します。

{
  "insecure-registries" : ["your-registry-url:5000"]
}

ここで、your-registry-url はミラー ウェアハウスの URL (例: my-registry.com)。

次に、変更を有効にするために Docker の構成ファイルをリロードする必要があります:

$ systemctl daemon-reload
$ systemctl restart docker
  1. イメージを作成してアップロードします

これで、次のことが可能になります。 Docker イメージを作成し、イメージ ウェアハウスにアップロードします。まず、Docker イメージを構築する必要があります。 Dockerfile のサンプルを次に示します。

FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
COPY app.py /app.py
CMD ["python3", "/app.py"]

同じディレクトリに app.py というファイルを作成し、コードを追加します。その後、次のコマンドを使用してイメージを構築します。

$ docker build -t your-registry-url:5000/my-image:1.0 .

your-registry-url をレジストリの URL に置き換えます。

ビルドが完了したら、次のコマンドを使用してイメージをミラー ウェアハウスにアップロードできます:

$ docker push your-registry-url:5000/my-image:1.0

これにより、ビルドされたイメージがミラー ウェアハウスにプッシュされます。

  1. ミラー ウェアハウスからイメージをプルする

アプリケーションを他のサーバーにデプロイする必要がある場合、ミラー ウェアハウスから必要なイメージをプルできます。イメージをプルするコマンドは次のとおりです:

$ docker pull your-registry-url:5000/my-image:1.0

これにより、イメージ ウェアハウスからイメージの対応するバージョンがプルされます。

  1. プライベート イメージ リポジトリの使用

アプリケーションとデータのセキュリティを保護するために、アクセス制御を使用してプライベート イメージ リポジトリへのアクセスを制限できます。以下は、基本認証を使用してアクセスを制御する例です。

まず、ユーザー名とパスワードを保存するパスワード ファイルを作成する必要があります。次のコマンドを使用して、パスワード ファイルを作成します。

$ docker run --rm --entrypoint htpasswd registry:2 -Bbn your-username your-password > auth/htpasswd

ここで、your-usernameyour-password は、定義したユーザー名とパスワードです。

次に、Docker レジストリの起動コマンドを変更して、アクセス制御構成の使用を指定する必要があります。次のコマンドを使用して、Docker Registry コンテナを起動します。

$ docker run -d -p 5000:5000 --restart=always --name registry 
             -v /path/to/auth:/auth 
             -e "REGISTRY_AUTH=htpasswd" 
             -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
             -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" 
             registry:2

このうち、/path/to/auth を、保存されているパスワード ファイルへのパスに置き換えます。

これで、プライベート ミラー リポジトリが基本認証を使用して設定され、許可されたユーザーのみがそれにアクセスできるようになりました。

概要

この記事では、Linux サーバー上に効率的な Docker イメージ ウェアハウスを構築する方法を紹介しました。最初に Docker と Docker Registry をインストールして構成し、次にイメージの構築とアップロードの例を通じてイメージ ウェアハウスの使用方法を示しました。最後に、基本認証を使用してレジストリを保護する方法について説明しました。

効率的な Docker イメージ ウェアハウスを確立することで、大規模なアプリケーションの管理とデプロイを改善し、開発と運用保守の効率を向上させることができます。この記事があなたのお役に立ち、実際のアプリケーションで使用できることを願っています。

以上がLinux サーバー上に効率的な Docker イメージ ウェアハウスを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。