前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库

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

原创
作者头像
刘大猫
发布2025-01-05 20:34:30
发布2025-01-05 20:34:30
1370
举报
文章被收录于专栏:JAVA相关JAVA相关

@toc

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命令并测试通过
代码语言:java
复制
docker容器内执行上述两条命令:
apt-get update
apt-get install net-tools
  • 安装完成后,commit我们自己的新镜像
代码语言:java
复制
公式:
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
命令:在容器外执行,记得
docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2
  • 启动我们的新镜像并和原来的对比

注意点4:

curl验证私服库上有什么镜像

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

注意点5:

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

代码语言:java
复制
按照公式: 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

代码语言:java
复制
别无脑照着复制,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推送到私服库

代码语言:java
复制
docker push 192.168.111.162:5000/zzyyubuntu:1.2

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

代码语言:java
复制
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

代码语言:java
复制
curl -XGET http://192.168.111.162:5000/v2/_catalog

注意点9:

pull到本地并运行

代码语言:java
复制
docker pull 192.168.111.162:5000/zzyyubuntu:1.2
代码语言:java
复制
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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 6.本地镜像发布到私有库
    • 6.1本地镜像发布到私有库流程
    • 6.2docker regisry是什么
    • 6.3将本地镜像推送到私有库
  • 本人其他相关文章链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档