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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

6.2docker regisry是什么

在这里插入图片描述

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
在这里插入图片描述

注意点2:
运行私有库Registry,相当于本地有个私有Docker hub
在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

  • 启动我们的新镜像并和原来的对比
    在这里插入图片描述

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

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

在这里插入图片描述
注意点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

在这里插入图片描述
注意点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

在这里插入图片描述`

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

docker push 192.168.111.162:5000/zzyyubuntu:1.2

在这里插入图片描述

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

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

在这里插入图片描述

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

docker pull 192.168.111.162:5000/zzyyubuntu:1.2

在这里插入图片描述

docker run -it 镜像ID /bin/bash

在这里插入图片描述

本人其他相关文章链接

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

猜你喜欢

转载自blog.csdn.net/a924382407/article/details/126210329