Docker Registry
基本流程
- 下载Docker Registry镜像
- 启动Registry容器
- 推动镜像到自建Registry
- 查看
- 从自建Registry拉镜像。
启动镜像
docker pull registry
# 运行registry 映射端口 挂载映射容器卷 开启特权模式
docker run -d -p 5000:5000 -v /opt/registry:/tmp/registry --privileged=true registry
使用docker ps命令可以看到
5000端口也已对外
推送镜像
如果仅仅使用http协议,而非https,需要在docker配置文件中添加配置,以避免错误。
- 打开 Docker 的 daemon 配置文件。这通常位于
/etc/docker/daemon.json
。 - 如果该文件不存在,您可以创建一个。
- 在配置文件中,确保
insecure-registries
部分包含了您的自建 registry 的地址。例如:
{
"insecure-registries": ["http://127.0.0.1:5000"]
}
- 保存并关闭文件。
- 重启 Docker daemon 以应用更改:
sudo systemctl restart docker
或相应的重启命令。
查看私有仓库内包含的镜像
curl 127.0.0.1:5000/v2/_catalog
推送本地镜像到自建registry
在推送镜像前,需要修改镜像tag,包括 registry 的地址和镜像的名称和版本号,例如原有的镜像为ubuntu_vim:latest修改为127.0.0.1:5000/ubuntu_vim:latest
docker tag ubuntu_vim:latest 127.0.0.1:5000/ubuntu_vim:latest
docker push 127.0.0.1:5000/ubuntu_vim:latest
此时使用registryAPI查看,可以看到已经包含此镜像
拉取镜像
执行docker pull即可
docker pull 127.0.0.1:5000/ubuntu_vim:latest