Dockerローカル倉庫構築

3530 ワード

Dockerローカル倉庫構築

  • 1. ダウンロードウェアハウスミラー
  • 2. 倉庫フォルダ
  • の作成
  • 3. 起動倉庫
  • 4. 倉庫起動の表示
  • 5.テスト
  • 6. 問題解決
  • 6.1プロファイル作成
  • ソースGitHubダウンロードアドレス:spring-boot-docker

    1.ウェアハウスミラーのダウンロード


    中央倉庫から最新のregistry倉庫を引き出します.
    docker pull registry
    

    2.倉庫フォルダの作成

    mkdir -pv /opt/docker/registry
    

    3.倉庫の起動


    ポートマッピング:5000ローカルファイルマッピング:/opt/docker/registry
    docker run -d -p 5000:5000 --restart=always -v /opt/docker/registry:/var/lib/registry  registry
    

    4.倉庫起動の表示

    docker ps
    

    出力は次のように表示されます.
    docker ps                                                                                                                                        
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    a7b23b6e8633        registry            "/entrypoint.sh /e..."   8 minutes ago       Up 6 minutes        0.0.0.0:5000->5000/tcp   distracted_jang
    

    アクセス先:
    ipはローカル倉庫ipアドレスです.
    curl http://192.168.234.97:5000/v2/_catalog
    

    5.テスト

    hello-worldミラーを使用してテストを行い、ローカルtagを作成します.
    docker tag hello-world 192.168.234.97:5000/hello
    

    ローカル倉庫にプッシュ
    docker push 192.168.234.97:5000/hello
    

    再表示:
    curl http://192.168.234.97:5000/v2/_catalog
    

    出力表示、新規倉庫あり.
    {"repositories":["hello"]}
    

    6.問題解決


    ローカル倉庫にプッシュ
    docker push 192.168.234.97:5000/hello
    

    誤報
    The push refers to a repository [192.168.234.97:5000/hello]
    Get https://192.168.234.97:5000/v1/_ping: http: server gave HTTP response to HTTPS client
    

    原因分析:
    クライアントhttpはアクセスできません
    ソリューション、プロファイルの作成、構成の変更.この倉庫に使用される機械は、この操作を実行します.

    6.1プロファイルの作成


    プロファイルの作成
    touch /etc/docker/daemon.json
    

    書き込み構成:
    echo '{ "insecure-registries":["192.168.234.97:5000"] }' >  /etc/docker/daemon.json
    

    dockerを再起動
    systemctl restart docker
    

    もう一度ローカル倉庫にプッシュしてみたら、成功しました.
    docker push 192.168.234.97:5000/hello
    

    成功した出力は次のとおりです.
    The push refers to a repository [192.168.234.97:5000/hello]
    428c97da766c: Pushed                                                                                                           
    latest: digest: sha256:7d6fb7e5e7a74a4309cc436f6d11c29a96cbf27a4a8cb45a50cb0a326dc32fe8 size: 524
    

    ミラーtagの表示
    http://192.168.234.97:5000/v2/hello/tags/list