Docker 镜像仓库(Registry)是用于存储和分发 Docker 镜像的服务。以下是配置 Docker 镜像仓库的详细方法:
Docker Hub 是默认的公共仓库,无需额外配置:
docker pull ubuntu # 默认从 Docker Hub 拉取
# 拉取 registry 镜像
docker pull registry:2
# 运行私有仓库容器
docker run -d -p 5000:5000 --name myregistry registry:2
/etc/docker/daemon.json
文件:{
"insecure-registries": ["myregistry:5000"]
}
sudo systemctl restart docker
{
"registry-mirrors": ["https://myregistry:5000"]
}
# 标记镜像
docker tag myimage myregistry:5000/myimage
# 推送镜像
docker push myregistry:5000/myimage
docker pull myregistry:5000/myimage
Harbor 是一个企业级 Registry 服务器:
# 下载 Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
# 解压并安装
tar xzvf harbor-offline-installer-v2.5.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
# 编辑 harbor.yml 配置
./install.sh
Nexus 也可以作为 Docker 仓库使用。
对于国内用户,可以配置镜像加速器提高下载速度:
/etc/docker/daemon.json
:{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
# 列出所有镜像仓库
docker info | grep -i registry
# 登录到仓库
docker login myregistry:5000
# 登出仓库
docker logout myregistry:5000
# 查看仓库中的镜像
curl -X GET http://myregistry:5000/v2/_catalog
以上配置可以根据实际需求进行调整,确保安全性和性能满足业务要求。