ホームページ >運用・保守 >Linuxの運用と保守 >Linux サーバー上に安全で信頼性の高い Docker イメージ ウェアハウスを構築するにはどうすればよいですか?

Linux サーバー上に安全で信頼性の高い Docker イメージ ウェアハウスを構築するにはどうすればよいですか?

王林
王林オリジナル
2023-07-28 20:16:511658ブラウズ

Linux サーバー上に安全で信頼性の高い Docker イメージ ウェアハウスを確立するにはどうすればよいですか?

コンテナ テクノロジーの急速な発展により、Docker はコンテナ化されたアプリケーションを構築および管理するための一般的なツールになりました。ただし、実際のアプリケーションでは、安全で信頼性の高い Docker イメージ ウェアハウスをどのように確立するかが重要な問題になります。この記事では、Linux サーバー上に安全で信頼性の高い Docker イメージ ウェアハウスを確立する方法を紹介し、参考となるコード例を示します。

  1. Docker のインストール

まず、Linux サーバーに Docker をインストールする必要があります。次のコマンドを使用してインストールできます:

$ sudo apt-get update
$ sudo apt-get install docker-ce

インストールが完了したら、次のコマンドを実行してインストールが成功したかどうかを確認します:

$ docker version
  1. Docker イメージ ウェアハウスを構成する
#次に、Docker イメージ ウェアハウスを構成する必要があります。 Docker の公式レジストリ イメージを使用するか、Harbor、Nexus などのサードパーティのオープン ソース イメージを使用するかを選択できます。

Docker の公式レジストリ イメージを例に挙げると、次のコマンドでレジストリ コンテナを起動できます。

$ docker run -d -p 5000:5000 --name registry registry:latest

起動が完了したら、レジストリが正しく動作しているかどうかを確認できます。次のコマンド:

$ curl http://localhost:5000/v2/_catalog

空の配列

[] が返された場合、レジストリが正常に実行されたことを意味します。

    イメージ ウェアハウスの認証と認可の設定
イメージ ウェアハウスのセキュリティを確保するには、認証と認可機能を追加する必要があります。 Nginx をリバース プロキシ サーバーとして使用し、Basic Auth 認証方法を使用できます。

まず、Nginx をインストールします:

$ sudo apt-get install nginx

次に、認証情報を保存するパスワード ファイルを作成します:

$ sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd"
$ sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

作成が完了したら、Nginx 構成ファイルを編集する必要があります

/etc/nginx/sites-available/default に、次の内容を追加します。

server {
    listen 80;
    server_name <your-domain-name>;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

454b098903dd34fa7086458fb3f097b6 をドメイン名に置き換えます。

設定ファイルを保存して Nginx を再起動します:

$ sudo systemctl restart nginx

    HTTPS サポートの設定
通信のセキュリティを確保するために、HTTPS を使用できます。通信用のプロトコル。まず、イメージ ウェアハウスの自己署名証明書を生成する必要があります。

まず、OpenSSL をインストールします:

$ sudo apt-get install openssl

次に、秘密キーと自己署名証明書を生成します:

$ sudo openssl req -newkey rsa:2048 -nodes -keyout registry.key -x509 -days 365 -out registry.crt

生成された

registry.key は秘密キー ファイル registry.crt は自己署名証明書ファイルです。

次に、Nginx 構成ファイル

/etc/nginx/sites-available/default を編集し、次の内容を追加します。

server {
    listen 443 ssl;
    server_name <your-domain-name>;

    ssl_certificate /path/to/registry.crt;
    ssl_certificate_key /path/to/registry.key;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

Replace

はドメイン名です。

設定ファイルを保存し、Nginx を再起動します。

$ sudo systemctl restart nginx

    Docker クライアントを使用してイメージ ウェアハウスと対話します
最後に、Docker クライアントを使用して、画像ウェアハウスと対話します。まず、Docker 用に信頼できるウェアハウスを構成する必要があります。

$ sudo vi /etc/docker/daemon.json

次の内容を構成ファイルに追加します。

{
    "insecure-registries": ["<your-domain-name>:5000"]
}

構成ファイルを保存し、Docker サービスを再起動します。

$ sudo systemctl restart docker

これで使用できるようになります。Docker クライアントは、イメージのプッシュやプルなど、イメージ ウェアハウスと対話します。

$ docker tag image <your-domain-name>:5000/image
$ docker push <your-domain-name>:5000/image
$ docker pull <your-domain-name>:5000/image

上記は、安全で信頼性の高い Docker イメージ ウェアハウスを確立するためのすべての手順とコード例です。 Linuxサーバー。これらの手順に従うことで、安全で信頼性の高い Docker イメージ ウェアハウスを構築し、コンテナ化されたアプリケーションの信頼性とセキュリティを確保できます。

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

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