Docker 搭建私有仓库及推送、拉取镜像
搭建私有Docker镜像仓库可以加速内部镜像分发。本文介绍使用Docker Registry搭建私有仓库、配置HTTPS、推送和拉取镜像的完整流程,以及常见问题的解决方案。
Docker 搭建私有仓库及推送、拉取
1、Docker 设置加速镜像
新建或者修改 /etc/docker/daemon.json 文件:
vim /etc/docker/daemon.json
其中 registry-mirrors 对应的地址获取方式:登录阿里云容器镜像服务控制台,在左侧导航栏选择 镜像工具 > 镜像加速器,在镜像加速器页面获取加速器地址。
{
"registry-mirrors": ["https://前缀.mirror.aliyuncs.com"]
}
2、重启 Docker
systemctl daemon-reload
systemctl restart docker
3、拉取 Registry 镜像并运行
docker pull registry
4、新建镜像存储目录,并运行镜像
mkdir /opt/registry/
docker run -dit -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:latest
5、防火墙或安全组放开端口 5000
6、测试
curl 127.0.0.1:5000/v2/_catalog
此时应该显示:
{"repositories":[]}
7、将本地镜像 Push 到私有仓库(以 nginx 为例)
(1)对本地镜像打标签
docker tag nginx:latest 127.0.0.1:5000/nginx:latest
(2)Push 到私有仓库
docker push 127.0.0.1:5000/nginx:latest
(3)查看私有仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog
结果应为:
{"repositories":["nginx"]}
8、删除私有仓库镜像
在 /opt/registry/ 目录下找到对应的镜像名,删除整个文件夹即可。
9、拉取私有仓库镜像
(1)使用 HTTP 公网 IP 拉取
在要拉取镜像的机器上,修改 /etc/docker/daemon.json 文件,在花括号内添加:
{
"insecure-registries": ["47.98.165.29:5000"]
}
然后重载 Docker 配置、重启 Docker:
systemctl daemon-reload
systemctl restart docker
再测试拉取:
docker pull 47.98.165.29:5000/nginx:latest
(2)在本机上拉取
直接使用 127.0.0.1 即可:
docker pull 127.0.0.1:5000/nginx:latest
评论
已显示全部评论