目次
1. 背景の紹介
2. 環境
3. デプロイ (サーバー操作)
ホームページ 運用・保守 Docker 港湾労働者のプライベート倉庫を構築する方法

港湾労働者のプライベート倉庫を構築する方法

Nov 10, 2020 pm 04:28 PM
docker

港湾労働者のプライベート倉庫を構築する方法

1. 背景の紹介

Docker で docker pull xxx コマンドを実行すると、docker がどこを検索するのか、ダウンロードはどうなるのかが気になるかもしれません。画像?

関連する推奨事項: docker チュートリアル

質問の回答:

実際には、registry.hub.docker.com アドレスから検索します。これは Docker 社が提供するパブリック ウェアハウスであり、上のイメージは誰でも利用でき、使用できます。したがって、docker pull registry.hub.docker.com/library/alpine のように、ウェアハウス アドレスを使用してイメージをプルすることもできますが、この方法でダウンロードされたイメージのデフォルト名は長くなることに注意してください。

社内で Docker を使用したい場合、商用プロジェクトを公共の倉庫にアップロードすることは基本的に不可能ですが、複数のマシンで共有したい場合はどうすればよいでしょうか?

このニーズがあるため、プライベート倉庫が活躍します。

いわゆるプライベート倉庫とは、ローカル (LAN) に構築された公共の倉庫のようなもので、構築後、イメージをプライベート倉庫に送信できます。このようにして、Docker を使用してプロジェクト イメージを実行し、商用プロジェクトが公開されるリスクを回避できます。

以下では、公式レジストリ イメージを使用してプライベート イメージ ウェアハウスを構築しますが、もちろん他にも多くの方法があります。

2. 環境

Docker がインストールされたサーバーを 2 台準備します。 サーバー マシン (ホスト名はレジストリ): Docker プライベート ウェアハウス サーバー、レジストリ コンテナーを実行します。 テスト マシン (ホスト名はノード): 通常の Docker サーバー、このサーバーにテスト イメージ nginx をダウンロードし、テストのためにレジストリ サーバーにアップロードします;

3. デプロイ (サーバー操作)

  1. イメージ レジストリのダウンロード

    # docker pull registryUsing default tag: latest
    latest: Pulling from library/registry
    81033e7c1d6a: Pull complete 
    b235084c2315: Pull complete 
    c692f3a6894b: Pull complete 
    ba2177f3a70e: Pull complete 
    a8d793620947: Pull complete 
    Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
    Status: Downloaded newer image for registry:latest复制代码
    ログイン後にコピー
  2. イメージの表示

    # docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    registry            latest              f32a97de94e1        3 months ago        25.8 MB复制代码
    ログイン後にコピー
  3. レジストリ コンテナーの実行

    # docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name レジストリ registry:latest

    06a972de6218b1f1c3bf9b53eb9068dc66d147d14e18a89ab51db13e339d3dc9

    #パラメータの説明 -itd: 対話型操作のためにコンテナ内で疑似ターミナルを開き、バックグラウンドで実行します。 -v: データの永続性を実現するために、ホストの /data/registry ディレクトリをコンテナの /var/lib/registry ディレクトリ (このディレクトリはレジストリ コンテナ内にイメージ ファイルが保存されるディレクトリです) にバインドします。 -p: マッピング ポート。ホストの 5000 ポートにアクセスすると、レジストリ コンテナのサービスにアクセスします。 --restart=always: これは再起動戦略です。コンテナが異常終了した場合、コンテナは自動的に再起動されます。 --name registry: registry という名前のコンテナを作成します。任意の名前を付けることができます。 registry:latest: これは、取得したばかりのイメージです。

  4. #イメージ ウェアハウス内のすべてのイメージをテストします
  5. #curl http://127.0。 0.1: 5000/v2/_catalog

    {"repositories":[]}
    は実行されたばかりで画像コンテンツがないため、現在は空です。

  6. 4. テスト イメージ ウェアハウス (テスト側の操作)

    ソースとイメージ ウェアハウスを変更する
  1. # vim /etc/docker/daemon.json{"registry-mirrors": [ "https://registry.docker-cn.com"]
    }# systemctl restart docker复制代码
    ログイン後にコピー

  2. nginx イメージをダウンロードします
  3. # docker pull nginx# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               latest              719cd2e3ed04        2 weeks ago         109MB复制代码
    ログイン後にコピー

  4. イメージにタグを付けます
  5. # docker tag nginx:latest registry服务器:5000/nginx:kurisu复制代码
    ログイン後にコピー

    形式の説明: 使用法: docker タグ SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

    nginx:lastest

    これは、ソース イメージと取得したばかりのイメージ ファイルです。registry server:5000/nginx:kurisu
    これは、ターゲット ミラーは、レジストリのプライベート ミラー サーバーの IP アドレスとポートでもあります。効果の表示

     # docker images
      
     REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
     registry服务器:5000/nginx   kurisu              719cd2e3ed04        2 weeks ago         109MB
     nginx                      latest              719cd2e3ed04        2 weeks ago         109MB复制代码
    ログイン後にコピー

  6. ミラー サーバーへのアップロード
  7. # docker push registry服务器:5000/nginxThe push refers to repository [registry服务器:5000/nginx]
    Get https://registry服务器:5000/v2/: http: server gave HTTP response to HTTPS client复制代码
    ログイン後にコピー

    これはエラーです。アップロードするには https メソッドが必要です。問題を解決するには、daemon.json を変更できます:

    [root@node ~]# vim /etc/docker/daemon.json {  "registry-mirrors": [ "https://registry.docker-cn.com"],  "insecure-registries": [ "registry服务器:5000"]
    }复制代码
    ログイン後にコピー

    プライベート ミラー サーバーのアドレスを追加します。書き込み形式は json であることに注意してください。は厳密な記述要件であるため、docker サービスを再起動します。

    # systemctl restart docker
    Upload again:

    # docker push registry服务器:5000/nginxThe push refers to repository [registry服务器:5000/nginx]
    d7acf794921f: Pushed
    d9569ca04881: Pushed
    cf5b3c6798f7: Pushed
    kurisu: digest: sha256:079aa93463d2566b7a81cbdf856afc6d4d2a6f9100ca3bcbecf24ade92c9a7fe size: 948复制代码
    ログイン後にコピー

  8. Test download image
  9. アップロード テストは問題ありません。レジストリ サーバーからテストしてみましょう。アップロードしたばかりの Busybox イメージをダウンロードし、まずノード ホスト上のイメージを削除します。

    # docker rmi -f $(docker images -aq)Untagged: registry服务器:5000/nginx:kurisu
    Untagged: registry服务器:5000/nginx@sha256:079aa93463d2566b7a81cbdf856afc6d4d2a6f9100ca3bcbecf24ade92c9a7fe
    Untagged: nginx:latest
    Untagged: nginx@sha256:bdbf36b7f1f77ffe7bd2a32e59235dff6ecf131e3b6b5b96061c652f30685f3a
    Deleted: sha256:719cd2e3ed04781b11ed372ec8d712fac66d5b60a6fb6190bf76b7d18cb50105
    Deleted: sha256:e9b6506fb887de50972aefd99d7c5eb56b1a8e757ed953cdfecb86b5359bcb22
    Deleted: sha256:55d9d9692a9615a28d183a42bc3881a72a39393feba3664e669e7affb78daa76
    Deleted: sha256:cf5b3c6798f77b1f78bf4e297b27cfa5b6caa982f04caeb5de7d13c255fd7a1e复制代码
    ログイン後にコピー

    ノード ホスト上のすべてのイメージが削除されていることを確認します。
    # docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE复制代码
    ログイン後にコピー

    次に、レジストリ サーバーから nginx イメージをダウンロードします。

    # docker pull registry服务器:5000/nginx:kurisukurisu: Pulling from nginxfc7181108d40: Pull complete
    c4277fc40ec2: Pull complete
    780053e98559: Pull complete
    Digest: sha256:079aa93463d2566b7a81cbdf856afc6d4d2a6f9100ca3bcbecf24ade92c9a7fe
    Status: Downloaded newer image for registry服务器:5000/nginx:kurisu复制代码
    ログイン後にコピー

    ノード ホスト上のイメージを表示します。

    # docker imagesREPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    registry服务器:5000/nginx   kurisu              719cd2e3ed04        2 weeks ago         109MB复制代码
    ログイン後にコピー

  10. リモート ウェアハウスを表示します。 image

すべてのイメージのリスト:
  • # curl http://registry服务器:5000/v2/_catalog{"repositories":["nginx"]}复制代码
    ログイン後にコピー
nginx イメージのタグのリスト:
  • # curl http://registry服务器:5000/v2/nginx/tags/list{"name":"nginx","tags":["kurisu"]}复制代码
    ログイン後にコピー

以上が港湾労働者のプライベート倉庫を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerによってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

See all articles