Docker registry本地镜像仓库搭建


# 拉取registry镜像
docker pull registry
# 启动并挂载和映射端口
docker run --name registry -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always --privileged=true -d registry
# 修改客户机的docker镜像地址为 "insecure-registries": "对应私服地址ip:5000"
vim /etc/docker/daemon.json
# { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], "insecure-registries":["私服ip:5000"] } # 重新读取配置生效 并 重启docker systemctl daemon
-reload systemctl restart docker # 进入有Dockerfile的路径,并构建镜像 docker build --build-arg JAR_NAME=xxxx-0.0.1-SNAPSHOT.jar -t app . # 私服镜像管理命令 # 将镜像的tag(docker images 命令查看image_id)推送至私服 docker tag $image_id 私服ip:5000/xxxx # 推送镜像 docker push 私服ip:5000/xxxx # 查询私服仓库,返回镜像仓库信息,数组的格式 curl -X GET http://私服ip:5000/v2/_catalog # 删除私服中镜像 docker rmi 私服ip:5000/xxxx xxxx
curl http://127.0.0.1:5000/v2/maven/tags/list
curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" -I -X GET http://127.0.0.1:5000/v2/tico/docker/manifests/local | grep Docker-Content-Digest | sed -e 's/Docker-Content-Digest: //g'
curl -I -X DELETE http://127.0.0.1:5000/v2/tico/docker/manifests/sha256:5cc709f79b1d3ee4635566260f5ae6b0237da04a35ef3f222c2110331cf318e4
docker exec registry(容器名) bin/registry garbage-collect /etc/docker/registry/config.yml
docker exec registry(容器名) rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>

 常用源:

{ 
    "registry-mirrors": [
        "https://kfwkfulq.mirror.aliyuncs.com",
        "https://2lqq34jg.mirror.aliyuncs.com",
        "https://pee6w651.mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
    ], 
    "insecure-registries":["私服ip:5000"] 
}