在Ubuntu上搭建Docker私有仓库可以使用Docker自带的registry
镜像。以下是详细的步骤:
首先,确保你的Ubuntu系统是最新的:
sudo apt-get update
sudo apt-get upgrade
如果你还没有安装Docker,可以使用以下命令进行安装:
sudo apt-get install docker.io
确保Docker服务正在运行:
sudo systemctl start docker
sudo systemctl enable docker
使用Docker自带的registry
镜像来创建私有仓库容器。你可以选择将仓库存储在本地文件系统或远程存储(如NFS)上。
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
这个命令会在本地启动一个名为registry
的容器,并将容器的5000端口映射到主机的5000端口。
如果你希望将仓库数据存储在远程存储上,可以这样做:
sudo mkdir -p /mnt/nfs/registry
sudo chown -R nobody:nogroup /mnt/nfs/registry
sudo docker run -d -p 5000:5000 --restart=always --name registry -v /mnt/nfs/registry:/var/lib/registry registry:2
为了让Docker客户端能够信任你的私有仓库,你需要将私有仓库的证书添加到Docker客户端的信任列表中。
如果你使用的是自签名证书,可以使用以下命令获取证书:
sudo openssl s_client -connect localhost:5000 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > myregistrykey.pem
将获取到的证书复制到Docker客户端的信任目录:
sudo mkdir -p /etc/docker/certs.d/localhost:5000
sudo cp myregistrykey.pem /etc/docker/certs.d/localhost:5000/ca.crt
现在你可以将镜像推送到私有仓库,并从中拉取镜像进行测试。
sudo docker tag ubuntu:latest localhost:5000/ubuntu:latest
sudo docker push localhost:5000/ubuntu:latest
sudo docker pull localhost:5000/ubuntu:latest
通过以上步骤,你就成功地在Ubuntu上搭建了一个Docker私有仓库,并且可以安全地存储和管理你的Docker镜像。