专业的编程技术博客社区

网站首页 > 博客文章 正文

Docker私有仓库安装及使用(dockerhub私有仓库搭建)

baijin 2024-11-06 09:34:58 博客文章 5 ℃ 0 评论

安装

1. 拉取docker镜像

 docker pull registry:2.6.2

2. 运行(docker内部默认5000)

 docker run -d -p 30100:5000 -v /opt/docker_registry/registry:/var/lib/registry --restart=always --name synjones_docker_registry registry:2.6.2
 
 docker内部默认5000的问题,如需修改,可进入容器内部,修改其配置文件/etc/docker/registry/config.yml,然后重启容器。
 1. 进入容器: docker exec -it synjones_docker_registry sh
 2. 查看仓库大小: du -sch /var/lib/registry
 3. 编辑config.yml文件,修改默认端口:vi /etc/docker/registry/config.yml
 4. 重启容器:docker restart synjones_docker_registry

2.1 集成第三方插件(实现镜像删除)

第三方插件地址:https://github.com/burnettk/delete-docker-registry-image

 1. 下载插件
 curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null
 
 2. 增加权限
 sudo chmod a+x /usr/local/bin/delete_docker_registry_image
 
 3. 设置环境变量
 export REGISTRY_DATA_DIR=/opt/docker_registry/registry/docker/registry/v2

2.2 镜像删除测试

 1. 查询私有仓库的所有镜像: curl http://10.9.21.13:30100/v2/_catalog
 2. 查看私有仓库某个镜像的所有tag: curl http://10.9.21.13:30100/v2/dining-test/tags/list
 3. 进入容器: docker exec -it synjones_docker_registry sh
 4. 查看仓库大小: du -sch /var/lib/registry
 5. 退出容器:exit
 6. 删除指定镜像:
   设置环境变量:export REGISTRY_DATA_DIR=/opt/docker_registry/registry/docker/registry/v2
   删除命令:delete_docker_registry_image --image dining-test:release-v1.0.0
 7. 进入容器: docker exec -it synjones_docker_registry sh
 8. 查看仓库大小: du -sch /var/lib/registry
 9. 退出容器:exit

2.3 删除示例

 [root@drccentosserver02 ~]# curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null
 
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100 16505  100 16505    0     0   5232      0  0:00:03  0:00:03 --:--:--  5233
 
 [root@drccentosserver02 ~]# sudo chmod a+x /usr/local/bin/delete_docker_registry_image
 [root@drccentosserver02 ~]# export REGISTRY_DATA_DIR=/opt/docker_registry/registry/docker/registry/v2
 
 [root@drccentosserver02 ~]# curl http://10.9.21.13:30100/v2/_catalog
 {"repositories":["dining-test","python"]}
 
 [root@drccentosserver02 ~]# curl http://10.9.21.13:30100/v2/dining-test/tags/list
 {"name":"dining-test","tags":["release-v1.0.0"]}
 
 [root@drccentosserver02 ~]# delete_docker_registry_image --image dining-test:release-v1.0.0
 INFO     [2022-02-21 17:19:51,609]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/12/12be71c39ea04d32dc12bdaee03b106c508c54e6824e540add168193f2bb95dc
 INFO     [2022-02-21 17:19:51,609]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/c8/c8cedad4f5637ca0386b70cdd2b2e048a6fed154a5264f304f3c541c40b607a3
 INFO     [2022-02-21 17:19:51,610]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/3a/3a2e03d6dd39cba35f941e255d9e6059c42e39456f0c3e7d8f99dcf1391ea107
 INFO     [2022-02-21 17:19:51,610]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/d0/d057336f293008165e5d28b295f66158af519032dfb3901b2938c9dd6de1a408
 INFO     [2022-02-21 17:19:51,610]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/1b/1b949135210d3b4fa7ef38e638b8250bfbbfff1d9d754892820c7327f91ccb6d
 INFO     [2022-02-21 17:19:51,610]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/5f/5f4e35486dacfcc1bd19c227b9431f2b5e85309e8babfd1cf93d72a296ec8772
 INFO     [2022-02-21 17:19:51,611]  Deleting /opt/docker_registry/registry/docker/registry/v2/blobs/sha256/eb/eb35f1730f89e0473c7939884015be83c8a483e4a52177c5fe7d1fe8ca7de42d
 INFO     [2022-02-21 17:19:51,646]  Deleting /opt/docker_registry/registry/docker/registry/v2/repositories/dining-test

3. 查看仓库

 查看所有仓库
     curl http://10.9.21.13:30100/v2/_catalog
     或通过浏览器打开的方式: http://10.9.21.13:30100/v2/_catalog
 
 查看私有仓库某个镜像的所有tag
     curl http://10.9.21.13:30100/v2/python/tags/list
     或通过浏览器打开的方式:http://10.9.21.13:30100/v2/python/tags/list

4. 解决需要https访问的问题

 vi /etc/docker/daemon.json
 {
     // 重定向到http,配置需要通过http请求的地址,加到最后,否则别忘记加 , (json结构)
     "insecure-registries": ["10.9.21.13:30100"], 
 }
 解释:因为是通过本地安装的docker进行操作,所以需要修改本地docker的配置文件

5. 重启docker

 systemctl daemon-reload
 systemctl restart docker

使用

1. 查询私有仓库镜像

# 查询私有仓库的所有镜像
curl http://10.9.21.13:30100/v2/_catalog

# 查看私有仓库某个镜像的所有tag
curl http://10.9.21.13:30100/v2/dining-test/tags/list

2. 上传

通过docker上传本地镜像到私有仓库
	python:3.8:指的是本地镜像
	docker tag python:3.8 10.9.21.13:30100/python:3.8
	docker push 10.9.21.13:30100/python:3.8 # 想要上传,必须先打标签

3. 下载

下载私有仓库镜像
    先删除本地python:3.8的镜像,再通过如下命令下载
    docker pull 10.9.21.13:30100/python:3.8



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表