banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

Dockerプライベートリポジトリを作成し、イメージをアップロードします。

画像

最近、CTFd プラットフォームを構築した後、Docker を使用して動的なフラグの練習場を作成する必要がありましたので、別のローカルマシンを立ち上げて、Docker プライベートリポジトリにしました。その過程を記録します。

リポジトリの作成とイメージのプッシュ#

プライベートリポジトリを作成するには、docker registryツールが必要です。公式の registry イメージを取得します。

docker pull registry:2
  • -v オプションは、リポジトリのローカル保存場所を指定します。
docker run -d -v C:\Users\lca\Desktop\tools\registry:/var/lib/registry -p 5000:5000 --name ctfregistry registry:2

image

上記の 2 つのコマンドで、プライベートリポジトリが作成されました。これでイメージをプライベートリポジトリにアップロードし、プライベートリポジトリからイメージをプル、検索、アップロードすることができます。

まず、hub.docker にアップロード済みのイメージをプルします。

docker pull liangchenga/dedecms5.7:v1

image

プルしたイメージに新しいタグを付けます。

docker tag liangchenga/dedecms5.7:v1 127.0.0.1:5000/dedecms5.7:v1

image

イメージをプライベートリポジトリにプッシュします。

image

プライベートリポジトリの registry には、先ほどプッシュしたイメージが表示されます。

image

http://127.0.0.1:5000/v2/_catalogにアクセスしても表示されます。

image

プライベートイメージをアップロードした後、ローカルからイメージをプルすることができます。

docker pull 127.0.0.1/イメージID:バージョン
  • リポジトリアドレスを内部ネットワークアドレスに設定する

🫥:クライアントの設定ファイル、つまり自分のホスト(コンピュータ)の設定ファイルを変更する必要があります。ここで私はハマりました。

Linux システムの場合、/etc/docker/daemon.json に以下の内容を追加します。

{
  "registry-mirror": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "insecure-registries": [
    "192.168.100.156:5000"
  ]
} 

Windows と Mac の場合は、Docker Engine に上記の設定を追加します(ここでの IP は異なります)。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [
    "172.17.5.106:5000"
  ]
}

image

Docker commit でイメージをコミット#

既存のイメージを変更した後、リポジトリにイメージをコミットしたい場合は、docker commit を使用してイメージをコミットします。docker commit は、元のイメージに新しいレイヤーを追加します。

まず、タグを作成します。

docker commit -a "lca" -m "this is a dedecms5.7 website test" 2733a49a020d 127.0.0.1:5000/mydedecms5.7:v2

-a:イメージ作成者の名前
-m:コメント
2733a49a020d:元のイメージ名
127.0.0.1:5000/mydedecms5.7:v2(新しいタグ)

その後、プッシュします。

docker push 127.0.0.1:5000/mydedecms5.7:v2

参考#

mac 搭建 docker 私有仓库
docker 镜像的发布
https://blog.csdn.net/atzqtzq/article/details/115701143
画像はこちらから取得しました:https://wallhaven.cc/w/5g56p1

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。