在CentOS上搭建Docker仓库,通常指的是设置一个私有仓库,以便存储和分发Docker镜像。以下是使用Docker Registry搭建私有仓库的步骤:
安装Docker: 如果你的CentOS系统上还没有安装Docker,可以使用以下命令安装:
sudo yum install -y docker
启动并启用Docker服务: 安装完成后,启动Docker服务并设置为开机自启:
sudo systemctl start docker
sudo systemctl enable docker
创建私有仓库: 默认情况下,Docker Hub提供了一个公共的私有仓库服务,但如果你想搭建自己的私有仓库,可以使用Docker Registry镜像来部署。首先,你需要下载并运行Registry容器:
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
这个命令会在本地的5000端口启动一个Registry服务。
配置Docker客户端:
为了让你的Docker客户端能够与私有仓库通信,你需要配置Docker守护进程。创建或编辑/etc/docker/daemon.json
文件,添加以下内容:
{
"insecure-registries" : ["localhost:5000"]
}
这里的insecure-registries
是指定不使用TLS加密的私有仓库地址列表。出于安全考虑,建议在生产环境中使用TLS加密。
重启Docker服务:
保存并关闭daemon.json
文件后,重启Docker服务以应用更改:
sudo systemctl restart docker
标记并推送镜像到私有仓库:
现在你可以将自己构建的Docker镜像标记并推送到私有仓库。首先,使用docker tag
命令标记镜像:
sudo docker tag <image-name>:<tag> localhost:5000/<image-name>:<tag>
然后,使用docker push
命令推送镜像到私有仓库:
sudo docker push localhost:5000/<image-name>:<tag>
从私有仓库拉取镜像: 当你需要从私有仓库拉取镜像时,可以使用以下命令:
sudo docker pull localhost:5000/<image-name>:<tag>
请注意,上述步骤中的<image-name>
和<tag>
需要替换为你实际的镜像名称和标签。
出于安全考虑,建议在生产环境中使用TLS来加密私有仓库的通信。这需要在运行Registry容器时挂载证书文件,并在daemon.json
中配置相应的TLS选项。如果你需要设置TLS,可以参考Docker官方文档中关于配置TLS认证的部分。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS从零开始如何配置SSL证书