概述

随着docker的应用越来越多,安装部署越来越方便,批量自动化的镜像生成和发布都需要docker仓库的本地化应用。

试用了docker的本地仓库功能,简单易上手,记录下来以备后用。

环境

centos:CentOS  release 7.0 (Final)或以上版本

Docker version 24.0.6, build ed223bc

下载registry镜像

从官方下载registry镜像和debian镜像。

sudo docker pull registry

sudo docker images

REPOSITORY                                      TAG        IMAGE ID       CREATED        SIZE

registry                                        latest     0ae1560ca86f   8 days ago     25.4MB

debian                                          bullseye   909f4919a453   3 weeks ago    124MB

启动registry容器

使用默认5000端口映射registry容器。

sudo docker run -d -p 5000:5000 --restart=always --name registry registry:latest

查看启动情况。

sudo docker ps

CONTAINER ID   IMAGE                                                 COMMAND                   CREATED       STATUS       PORTS                                       NAMES

3795a6fcd7e7   registry:latest                                       "/entrypoint.sh /etc…"   4 hours ago   Up 4 hours   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry

打开registry的web页面,注意要用http不带s。

http://10.55.55.136:5000/v2/_catalog

{"repositories":["test/debian"]}

docker客户端配置

修改docker客户端配置,没有则创建。

sudo vi /etc/docker/daemon.json

{

"insecure-registries":[

"10.55.55.136:5000",

"localhost:5000"

]

}

重启docker。

sudo systemctl restart docker

上传镜像到registry

查看当前镜像,有debian的bulleye版本。

sudo docker images

REPOSITORY                                      TAG        IMAGE ID       CREATED        SIZE

registry                                        latest     0ae1560ca86f   8 days ago     25.4MB

debian                                          bullseye   909f4919a453   3 weeks ago    124MB

对debian:bullseye打tag。

sudo docker tag debian:bullseye 10.55.55.136:5000/test/debian:v1.0

sudo docker images

REPOSITORY                                      TAG        IMAGE ID       CREATED        SIZE

registry                                        latest     0ae1560ca86f   9 days ago     25.4MB

10.55.55.136:5000/test/debian                   v1.0       909f4919a453   3 weeks ago    124MB

debian                                          bullseye   909f4919a453   3 weeks ago    124MB

上传自定义镜像。

sudo docker push 10.55.55.136:5000/test/debian:v1.0

push时如果产生下面的报错,返回上一步,修改docker客户端配置解决。

The push refers to repository [10.55.55.136:5000/test/debian]

Get "https://10.55.55.136:5000/v2/": http: server gave HTTP response to HTTPS client

下载自定义镜像

首先删除本地自定义镜像,然后从registry重新下载。

sudo docker rmi 10.55.55.136:5000/test/debian:v1.0

sudo docker pull 10.55.55.136:5000/test/debian:v1.0

sudo docker images

REPOSITORY                                      TAG        IMAGE ID       CREATED        SIZE

registry                                        latest     0ae1560ca86f   8 days ago     25.4MB

10.55.55.136:5000/test/debian                   v1.0       909f4919a453   3 weeks ago    124MB

debian                                          bullseye   909f4919a453   3 weeks ago    124MB

总结

Docker镜像的本地库是CI自动化流程的必要步骤。

Docker的registry镜像简单易上手。

空空如常

求真得真

DOCKER本地仓库的更多相关文章

  1. [docker]本地仓库的创建的使用

    如果自己创建的镜像可以供其他同事使用,那就可以大大节约开发时间成本,docker的本地仓库正好可以满足这样的需求 1.在仓库服务器上创建本地仓库 baylor@baylor-virtual-machi ...

  2. k8s环境部署.net core web项目(docker本地仓库)

    在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新. ...

  3. docker本地仓库&镜像

    镜像的命名规则: 1.[冷数据]/[base镜像]例如:ansible,centos 2. lastest{最新的意思}  不是真的(随便命名) 3. [image name]=[repository ...

  4. 搭建docker本地仓库

    如果没有创建docker环境的话,需要先安装docker环境. 1. 使用命令创建容器 docker run -d -p 8081:8080 atcol/docker-registry-ui 8081 ...

  5. docker推送镜像到docker本地仓库报错:http: server gave HTTP response to HTTPS client

    因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误. 解决办法: vim / ...

  6. Docker 使用指南 (二)—— 搭建本地仓库

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/94 来源:腾云阁 https://www.qclou ...

  7. Docker自建本地仓库

    1.安装docker yum install docker -y 之后根据需求把指定docker安装目录,或者新建一个磁盘使用docker-storage-setup来使用 2.设置第三方docker ...

  8. Kubernetes 本地仓库

    1.Kubernetes本地私有仓库 Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库.使用私有仓库有如下优点: 1)节省 ...

  9. 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面

    搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...

  10. docker搭建本地仓库并制作自己的镜像

    原文地址https://blog.csdn.net/junmoxi/article/details/80004796 1. 搭建本地仓库1.1 下载仓库镜像1.2 启动仓库容器2. 在CentOS容器 ...

随机推荐

  1. 解决GET http://192.168.41.103:9528/sockjs-node/info?t=1678639328658 net::ERR_CONNECTION_TIMED_OUT

    问题现象 解决办法 找到依赖/node_modules/sockjs-client/dist/sockjs.js注释掉下面的一行代码

  2. Oracle密码文件、警告日志文件、跟踪文件

    密码文件 oracle用于验证sysdba权限的二进制文件. 警告日志文件 警告日志文件是用来记录oracle数据库系统在运行期间的各种信息: oracle实例打开和关闭.建立表空间.增加数据文件等记 ...

  3. bash shell笔记整理——ls命令

    语法: ls [选项] [文件 或 目录] 选项 使用说明 –a 显示指定目录下的所有文件,包括隐藏文件. -A 显示除了.和..的外的所有文件. -l 显示详细的文件信息. -d 如果是目录,只显示 ...

  4. 这样delete居然不走索引

    背景 由于业务变迁,合规要求,我们需要删除大量非本公司的数据,涉及到上百张表,几个T的数据清洗.我们的做法是先从基础数据出发,将要删除的数据id收集到一张表,然后再由上往下删除子表,多线程并发处理. ...

  5. Javascript Ajax总结——跨域资源共享

    XHR对象只能访问与包含它的页面位于同一个中的资源.这种安全策略可以预防某些恶意行为.CORS(Cross-Origin Resource Sharing,跨域资源共享)是W3C的一个工作草案,定义了 ...

  6. keycloak~从login-status-iframe页面总结如何跨域传值~续

    keycloak~从login-status-iframe相关文章,可阅读我的这两篇keycloak~从login-status-iframe页面总结如何跨域传值,keycloak~对接login-s ...

  7. mybatis测试类的书写步骤

    mybatis测试类的书写步骤 private SqlSession session; @Test //* 1.根据UserMapper接口的Class对象获取Mapper接口类型的对象 //* 2. ...

  8. 使用gradle的方式进行Springboot3的web开发(微服务版)

    简要: 最近看了很多的Springboot3的项目,但是发现很多都是用maven来进行版本管理的,很少有用gradle来管理的,通过网上查找资料,看视频,终于自己写一个gradle管理的Springb ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (144)-- 算法导论12.1 4题

    四.用go语言,对于一棵有 n 个结点的树,请设计在 O(n)时间内完成的先序遍历算法和后序遍历算法. 我个人喜欢 灵小智 . 文心一言: 在 Go 语言中,我们可以使用递归来实现树的前序遍历和后序遍 ...

  10. 最大伪森林——kruskal算法活用 (HDU - 3367)

    最大伪森林--kruskal算法活用 (HDU - 3367) kruskal这一用来求生成树的算法,经过修改拓展之后,可以求很多种形式的子图,本题(HDU3367)即为一个应用案例 单击进入原题 以 ...