DOCKER本地仓库

概述
随着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本地仓库的更多相关文章
- [docker]本地仓库的创建的使用
如果自己创建的镜像可以供其他同事使用,那就可以大大节约开发时间成本,docker的本地仓库正好可以满足这样的需求 1.在仓库服务器上创建本地仓库 baylor@baylor-virtual-machi ...
- k8s环境部署.net core web项目(docker本地仓库)
在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新. ...
- docker本地仓库&镜像
镜像的命名规则: 1.[冷数据]/[base镜像]例如:ansible,centos 2. lastest{最新的意思} 不是真的(随便命名) 3. [image name]=[repository ...
- 搭建docker本地仓库
如果没有创建docker环境的话,需要先安装docker环境. 1. 使用命令创建容器 docker run -d -p 8081:8080 atcol/docker-registry-ui 8081 ...
- docker推送镜像到docker本地仓库报错:http: server gave HTTP response to HTTPS client
因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误. 解决办法: vim / ...
- Docker 使用指南 (二)—— 搭建本地仓库
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/94 来源:腾云阁 https://www.qclou ...
- Docker自建本地仓库
1.安装docker yum install docker -y 之后根据需求把指定docker安装目录,或者新建一个磁盘使用docker-storage-setup来使用 2.设置第三方docker ...
- Kubernetes 本地仓库
1.Kubernetes本地私有仓库 Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库.使用私有仓库有如下优点: 1)节省 ...
- 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...
- docker搭建本地仓库并制作自己的镜像
原文地址https://blog.csdn.net/junmoxi/article/details/80004796 1. 搭建本地仓库1.1 下载仓库镜像1.2 启动仓库容器2. 在CentOS容器 ...
随机推荐
- 解决GET http://192.168.41.103:9528/sockjs-node/info?t=1678639328658 net::ERR_CONNECTION_TIMED_OUT
问题现象 解决办法 找到依赖/node_modules/sockjs-client/dist/sockjs.js注释掉下面的一行代码
- Oracle密码文件、警告日志文件、跟踪文件
密码文件 oracle用于验证sysdba权限的二进制文件. 警告日志文件 警告日志文件是用来记录oracle数据库系统在运行期间的各种信息: oracle实例打开和关闭.建立表空间.增加数据文件等记 ...
- bash shell笔记整理——ls命令
语法: ls [选项] [文件 或 目录] 选项 使用说明 –a 显示指定目录下的所有文件,包括隐藏文件. -A 显示除了.和..的外的所有文件. -l 显示详细的文件信息. -d 如果是目录,只显示 ...
- 这样delete居然不走索引
背景 由于业务变迁,合规要求,我们需要删除大量非本公司的数据,涉及到上百张表,几个T的数据清洗.我们的做法是先从基础数据出发,将要删除的数据id收集到一张表,然后再由上往下删除子表,多线程并发处理. ...
- Javascript Ajax总结——跨域资源共享
XHR对象只能访问与包含它的页面位于同一个中的资源.这种安全策略可以预防某些恶意行为.CORS(Cross-Origin Resource Sharing,跨域资源共享)是W3C的一个工作草案,定义了 ...
- keycloak~从login-status-iframe页面总结如何跨域传值~续
keycloak~从login-status-iframe相关文章,可阅读我的这两篇keycloak~从login-status-iframe页面总结如何跨域传值,keycloak~对接login-s ...
- mybatis测试类的书写步骤
mybatis测试类的书写步骤 private SqlSession session; @Test //* 1.根据UserMapper接口的Class对象获取Mapper接口类型的对象 //* 2. ...
- 使用gradle的方式进行Springboot3的web开发(微服务版)
简要: 最近看了很多的Springboot3的项目,但是发现很多都是用maven来进行版本管理的,很少有用gradle来管理的,通过网上查找资料,看视频,终于自己写一个gradle管理的Springb ...
- 文心一言 VS 讯飞星火 VS chatgpt (144)-- 算法导论12.1 4题
四.用go语言,对于一棵有 n 个结点的树,请设计在 O(n)时间内完成的先序遍历算法和后序遍历算法. 我个人喜欢 灵小智 . 文心一言: 在 Go 语言中,我们可以使用递归来实现树的前序遍历和后序遍 ...
- 最大伪森林——kruskal算法活用 (HDU - 3367)
最大伪森林--kruskal算法活用 (HDU - 3367) kruskal这一用来求生成树的算法,经过修改拓展之后,可以求很多种形式的子图,本题(HDU3367)即为一个应用案例 单击进入原题 以 ...