《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库

简介: 《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库

image.png

@[toc]

6.本地镜像发布到私有库

image.png

6.1本地镜像发布到私有库流程

image.png

6.2docker regisry是什么

image.png

6.3将本地镜像推送到私有库

使用步骤:
1)下载镜像Docker Registry
2)运行私有库Registry,相当于本地有个私有Docker hub
3)案例演示创建一个新镜像,ubuntu安装ifconfig命令
4)curl验证私服库上有什么镜像
5)将新镜像zzyyubuntu:1.2修改符合私服规范的Tag
6)修改配置文件使之支持http
7)push推送到私服库
8)curl验证私服库上有什么镜像2
9)pull到本地并运行

注意点1:
下载镜像Docker Registry
image.png

注意点2:
运行私有库Registry,相当于本地有个私有Docker hub
image.png

注意点3:
案例演示创建一个新镜像,ubuntu安装ifconfig命令

  • 从Hub上下载ubuntu镜像到本地并成功运行
  • 原始的Ubuntu镜像是不带着ifconfig命令的

image.png

  • 外网连通的情况下,安装ifconfig命令并测试通过
docker容器内执行上述两条命令:
apt-get update
apt-get install net-tools

image.png
image.png

  • 安装完成后,commit我们自己的新镜像
公式:
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
命令:在容器外执行,记得
docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2

image.png

  • 启动我们的新镜像并和原来的对比
    image.png

注意点4:
curl验证私服库上有什么镜像

 curl -XGET http://192.168.111.162:5000/v2/_catalog
可以看到,目前私服库没有任何镜像上传过。。。。。。

image.png

注意点5:
将新镜像zzyyubuntu:1.2修改符合私服规范的Tag

按照公式: docker   tag   镜像:Tag   Host:Port/Repository:Tag
自己host主机IP地址,填写同学你们自己的,不要粘贴错误,O(∩_∩)O
使用命令 docker tag 将zzyyubuntu:1.2 这个镜像修改为192.168.111.162:5000/zzyyubuntu:1.2
docker tag  zzyyubuntu:1.2  192.168.111.162:5000/zzyyubuntu:1.2

image.png

注意点6:
修改配置文件使之支持http

别无脑照着复制,registry-mirrors 配置的是国内阿里提供的镜像加速地址,不用加速的话访问官网的会很慢。
2个配置中间有个逗号 ','别漏了,这个配置是json格式的。
2个配置中间有个逗号 ','别漏了,这个配置是json格式的。
2个配置中间有个逗号 ','别漏了,这个配置是json格式的。

vim命令新增如下红色内容:vim /etc/docker/daemon.json
{
   
  "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.111.162:5000"]
}

上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

image.png

注意点7:
push推送到私服库

docker push 192.168.111.162:5000/zzyyubuntu:1.2

image.png

问题:这块可能会报错显示链接被拒绝

Error response from daemon: Get https://.. xxxxx: connect: connection refused

答案:报错原因可能有3点
1)第一步排查,docker register镜像是否启动成功
2)第二步排查,注意点6中修改配置文件使之支持http
3)第三步最重要排查,是否重启docker使其配置文件生效,我就是未重启导致一直失败,配置后重启命令即可:systemctl reload docker

注意点8:
curl验证私服库上有什么镜像2

curl -XGET http://192.168.111.162:5000/v2/_catalog

image.png

注意点9:
pull到本地并运行

docker pull 192.168.111.162:5000/zzyyubuntu:1.2

image.png

docker run -it 镜像ID /bin/bash

image.png

本人其他相关文章链接

1.《docker基础篇:1.Docker简介》包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
2.《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
3.《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
4.《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
5.《docker基础篇:5.本地镜像发布到阿里云》
6.《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
7.《docker基础篇:7.Docker容器数据卷》包括坑、回顾下上一讲的知识点,参数V、是什么、更干嘛、数据卷案例
8.《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
image.png

重要信息

image.png
image.png

目录
相关文章
|
5月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
415 99
|
5月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
522 98
|
4月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
633 5
|
4月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
3270 8
|
5月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
259 8
|
5月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建