Ubuntu 22.04: 自前の Docker registry を立てる

 
個人用に DockerHub じゃなくて自前の Docker registry を使いたかったのでメモ

Docker レジストリの docker 版を使う。

docker run -d -p 5000:5000 --restart=always --name registry -v /home/orenomemo/registry:/var/lib/registry registry:2

-v オプションでイメージ保存用のディレクトリをホームディレクトリに作成して、それをマウントして使う。

そして TLS なしで使うので、 /etc/docker/daemon.json に insecure-registries 設定を追加する。
IP アドレスは、 registry を実行する PC の IP アドレスを指定すれば OK.

なお、Minikube 用に Nvidia Container Tookit の設定がすでに入ってるので既存設定に追記した。

# sudo vim /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "insecure-registries" : ["10.0.0.2:5000"]
}

そしたら docker を再起動。

sudo systemctl daemon-reload
sudo systemctl restart docker

で、 docker を再起動したせいで registry はもちろん停止しているw
というわけで再び regsitry コンテナ を起動する。

docker container start registry

さて、俺は Minikube を使っている。
そして Minikube で自前のレジストリを使う場合は –insecure-registry オプションが必要。
すでに Minikube を実行している場合は minikube delete で一回 minikube を消してから再起動する。

minikube delete
minikube start --driver docker --container-runtime docker --gpus all --insecure-registry 10.0.0.2:5000