プライベートウェアハウスを構築するための docker レジストリ

プライベートウェアハウスを構築するための docker レジストリ

準備

  1. centos に基づくホスト (192.168.65.128) とプライベート ウェアハウス サーバーとしてインストールされた Docker 環境
  2. centos とインストールされた Docker 環境に基づくホスト (192.168.65.130) は、プライベート ウェアハウス サーバーのイメージの送信とプルをテストするためのテスト マシンとして使用されます。

正式に建てられた

プライベート倉庫サーバー (192.168.65.128)

  • ミラーレジストリをダウンロードする

    docker pull registry
    
  • レジストリを実行する

    docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
    

    パラメータの説明:

    • -itd: 対話型操作のためにコンテナ内で疑似端末を開き、バックグラウンドで実行します。
    • -v: データの永続性を実現するために、ホストの /data/registry ディレクトリをコンテナの /var/lib/registry ディレクトリ (このディレクトリはレジストリ コンテナ内のミラー ファイルが保存されるディレクトリです) にバインドします。
    • -p: ポート マッピング。ホスト マシンのポート 5000 にアクセスすると、レジストリ コンテナのサービスにアクセスします。
    • –restart=always: これは再起動戦略です。コンテナが異常終了した場合、コンテナは自動的に再起動されます。
    • –name registry: registry という名前のコンテナを作成します。任意の名前を付けることができます。
    • registry:latest: これは今プルされたイメージです。
  • プライベート ウェアハウス内のすべての画像を表示します (現時点ではウェアハウスにミラー イメージがないため、結果は空になります)

    curl http://127.0.0.1:5000/v2/_catalog
    

    利用可能なデータ:

    {“リポジトリ”:[]}

テストマシン(192.169.65.130)

  • プライベートストレージサーバーアドレスを追加

    vim /etc/docker/daemon.json
    
    {
      "registry-mirrors": [ "https://registry.docker-cn.com"],
      "insecure-registries": [ "192.168.65.128:5000"]
    }
    

    パラメータの説明

    insecure_registries: プライベート ウェアハウス サーバーのアドレスは次のとおりです。

    Dockerサービスを再起動します

     systemctl  restart docker
    

画像をプライベートウェアハウスサーバー (192.168.65.128) にアップロードします。

  • hello-world イメージをプルします (このイメージは docker Hub イメージです)

     docker pull hello-world
    
  • hello-world イメージにラベルを付ける

    docker tag hello-world:latest  192.168.65.128:5000/hello:v1
    

    形式は次のとおりです。

    docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 
    

    パラメータの説明:

    • SOURCE_IMAGE --> ハローワールド
    • [:TAG] --> 最新
    • TARGET_IMAGE --> 192.168.65.128:5000/こんにちは
    • [:TAG] --> v1

    知らせ:

    192.168.65.128:5000/hello は、プライベート ウェアハウス サーバーのアドレス (192.168.65.128) に、サーバーにアップロードする画像の名前を加えたものです (この名前は選択できます)。

  • イメージ hello:v1 をプライベート ウェアハウス サーバー (192.168.65.128) にアップロードします。

    docker push 192.168.65.128:5000/hello:v1
    
  • プライベート ウェアハウス サーバー (192.168.65.128) に hello:v1 イメージがすでに存在するかどうかを確認します。

    curl http://127.0.0.1:5000/v2/_catalog
    

    答えが得られました:

    {“リポジトリ”:[“こんにちは”]}

プライベート ウェアハウス サーバー (192.168.65.128) からイメージをプルします。

  • テスト マシン (192.168.65.130) 上の hello:v1 イメージを削除します。

    docker rmi 192.168.65.128:5000/hello:v1
    
  • プライベートウェアハウスサーバー (192.168.65.128) 上のイメージをプルします。

    docker pull 192.168.65.128:5000/hello:v1
    

おすすめ

転載: blog.csdn.net/succeedcow/article/details/117294999