在CentOS上搭建Docker私有仓库,你可以使用Docker自带的registry
镜像。以下是详细的步骤:
首先,确保你的CentOS系统上已经安装了Docker。如果没有安装,可以按照以下步骤进行安装:
# 更新yum包索引
sudo yum update -y
# 安装必要的包
sudo yum install -y yum-utils
# 设置Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
接下来,拉取Docker官方的registry
镜像:
sudo docker pull registry:2
运行一个Registry容器,并将其绑定到本地的某个端口(例如5000):
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
这个命令会启动一个名为registry
的容器,并将容器的5000端口映射到主机的5000端口。
为了让你的Docker客户端能够访问这个私有仓库,你需要配置Docker客户端的daemon.json
文件,添加私有仓库的地址。
首先,创建或编辑/etc/docker/daemon.json
文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"insecure-registries" : ["localhost:5000"]
}
EOF
然后,重启Docker服务以应用更改:
sudo systemctl restart docker
现在,你可以将本地的镜像标记并推送到私有仓库。
首先,标记镜像:
sudo docker tag <image-name>:<tag> localhost:5000/<image-name>:<tag>
例如,如果你有一个名为myapp
的镜像,标签为latest
,可以这样标记:
sudo docker tag myapp:latest localhost:5000/myapp:latest
然后,推送镜像到私有仓库:
sudo docker push localhost:5000/myapp:latest
最后,你可以从私有仓库拉取镜像:
sudo docker pull localhost:5000/myapp:latest
通过以上步骤,你就成功地在CentOS上搭建了一个Docker私有仓库,并且可以将镜像推送到私有仓库并从私有仓库拉取镜像。