Docker的registry
简介
地址:https://hub.docker.com/_/registry
Dcoker registry是存储Dcoker image的仓库,运行push,pull,search时,是通过Dcoker daemon与docker registry通信。有时候会用Dcoker Hub这样的公共仓库可能不方便,我们可以通过registry创建一个本地仓库。
运行
docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restart always --name registry registry:2.7.1
运行成功后,访问:http://服务器ip:5000/v2/_catalog,如:http://127.0.0.1:5000/v2/_catalog,可以查看到我们有一个空的仓库:
{"repositories":[]}
给镜像打tag
docker tag mysql:latest localhost:5000/myfirstimage
推送至你自己的registry
git push localhost:5000/myfirstimage
可以查看到我们有一个空的仓库中有一个镜像: {"repositories":["myregmysql"]}
再从自己的registry拉取镜像
docker pull localhost:5000/myfirstimage
停止registry并删除所有数据
docker container stop registry && docker container rm -v registry
# 检查服务器版本
cat /etc/redhat-release # CentOS Linux release 7.9.2009 (Core)
# 进入docker安装目录
cd /etc/docker
# 编辑daemon.json(不存在则新建)
vim daemon.json
"""
内容如下
{"insecure-registries":["182.61.19.183:5000"]
}
"""
# 重启docker使得配置生效
systemctl restart docker
# 将镜像推送到本地仓库
docker push nginx:1.17.9
# 从本地仓库下载镜像
docker pull nginx:1.17.9