通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建?怎么将自己的镜像推送到私服仓库中呢?怎么验证是否成功呢?本文咱们就一起来学学怎么将镜像推送到私服镜像中。

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。

文末送上本系列教程其他文章直通车,欢迎大家系统地去学习

本文目录:

1:下载镜像 DockerRegistry

2:运行私有库Registry,相当于本地有个私有的Docker hub

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

安装ifconfig

查看现有镜像:

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

5:将新镜像修改符合私服规范的tag

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

7:push推送到私服

8:curl验证私服上有什么镜像第二次查看

9:pull到本地并运行

从私服拉取命令:

重新查看本地镜像:

docker私有镜像仓库:Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

本地搭建私有仓库步骤

1:下载镜像 DockerRegistry

命令:

docker pull registry

2:运行私有库Registry,相当于本地有个私有的Docker hub

命令:

docker run -d -p 端口:端口 -v 容器地址:映射地址 --privileged-true registry

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便宿主机两条

实例:

docker run -d -p 5000:5000 -v /n/myregistry/:/tmp/registry --privileged=true registry

查看docker正在运行的容器:

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

安装ifconfig

在容器中执行下面两个命令:

apt-get update

apt-get install net-tools

使用commit命令制作一个带有ifconfig的ubuntu.

注意,docker commit命令是在宿主机上执行的

套用公式:

docker commit -m"add ifconfig" -a"凯哥Java" 0930939e6f99 kagejava/ifconfigubuntu:1.0.1

查看现有镜像:

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

命令:

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

说明:192.xxx是虚拟机的地址

可以看到私服上面是空的。

5:将新镜像修改符合私服规范的tag

命令公式

docker tag 镜像:Tag HOST:Port、Repository:Tag

注意:自己host主机ip地址。也就是虚拟机的ip地址

使用命令将:kaigejava/ifconfigubuntu:1.0.1 这个镜像修改为:192.168.50.128:5000/kagejavaifconfig:1.0.1

docker tag kagejava/ifconfigubuntu:1.0.1 192.168.50.128:5000/kaigejavaifconfig:1.0.1

说明:192.168..50.128是虚拟机主机的ip.

命令执行完成之后,查看当前imags.如下图:

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

在docker的json文件中添加

"insecure-registries":["192.168.50.128:5000"]

注意修改ip及添加逗号

重启docker命令:

systemctl restart docker

重启docker后,重启私服

docker run -d -p 5000:5000 -v /n/myregistry/:/tmp/registry --privileged=true registry

7:push推送到私服

命令公式:

docker push ip:断开/镜像信息:版本

当出现以下说明已经push成功:

8:curl验证私服上有什么镜像第二次查看

命令:

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

可以看到,我们已经将新的镜像上传到私服上了。

9:pull到本地并运行

从私服拉取命令:

docker pull ip:端口/镜像名:版本号

重新查看本地镜像:

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

【Docker教程系列】Docker学习6-Docker镜像commit操作案例

【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云

【Docker学习教程系列汇总】笔记及遇到问题解决文章

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java

 

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?的更多相关文章

  1. docker学习教程

    我们的docker学习教程可以分为以下几个部分,分别是: 第一:docker基础学习 第二:docker日志管理 第三:docker监控管理 第四:docker三剑客之一:docker-machine ...

  2. 非常详细的Docker学习教程

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  3. Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境

    本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...

  4. Docker学习总结(12)——非常详细的 Docker 学习笔记

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  5. Docker学习笔记_使用Dockerfile创建flask的一个镜像

    一.实验环境 1.宿主机OS:Win10 64位 2 .虚拟机OS:Ubuntu18.04 64位    虚拟机名称:Ubuntu18VM1   虚拟机IP:192.168.8.25 3.账号:doc ...

  6. K8s+Docker 学习笔记系列

    学前知识 你需要掌握 Linux 的常用命令.你可以通过Linux 教程 来学习相关命令. Docker应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环境中部署和调 ...

  7. Git学习教程一之安装Git&&&本地仓库建立

    一. 安装git 1:在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项一直安装即可. 2:安装完成后,在开始菜单里找到“Git”-> ...

  8. docker学习笔记(1)——ubuntu16.04安装docker(含如何彻底卸载docker,docker拉取镜像失败解决)

    参考博客: 1.官网教程:https://docs.docker.com/engine/install/   根据本机不同的信息选择不同的安装方式:  https://docs.docker.com/ ...

  9. Docker学习笔记之创建安装了nginx服务器的镜像

    操作步骤: 1. 编辑Dockerfile 2. 使用build命令创建镜像 3. 使用run命令测试创建的镜像 编辑Dockerfile 首先,需要使用文本编辑器编辑Dockerfile文件(注意没 ...

  10. docker学习笔记(三)-通过network理解docker,在同一网桥里搭建docker容器

    创建test1 test2 两个network namespace 两个network namespace没有被启动 启动了但是有没有与network关联 创建两个veth,用于关联两个network ...

随机推荐

  1. 小组合作实现的基于 jsp,servlet,mysql 编写的学校管理系统

    基本完成的页面--源代码在<文件>中可下载 文件地址:https://i.cnblogs.com/Files.aspx 学生管理模块各功能已实现 百度网盘下载地址: 链接:https:// ...

  2. React项目国际化-React-intl

    npx create-react-app react-intl-demo && cd react-intl-demo,创建react-intl-demo项目.npm install r ...

  3. 时间序列分析专题——利用SPSS专家建模器进行建模

    SPSS的专家建模器可以自动识别数据,给出最适合的模型,本章通过三个例题介绍如何使用SPSS实现时间序列分析.由于本人对时间序列分析的理解尚浅,做出模型后在论文上的呈现形式需要取查阅资料,以便更好地在 ...

  4. adorner 使用示例

    模块介绍 adorner 是一个现代轻量级的 Python 装饰器辅助模块. 目前该模块仅实现了 4 个类,对应着 4 个功能:制造装饰器.执行计时.函数缓存.捕获重试. 仓库地址:https://g ...

  5. 2行JS代码实现Vue全选和反选

    实现效果: 第一行:子选项的选中状态 等于 全选框的状态 this.letters.forEach(item => item.check = this.checkAll) 第二行: 使用数组 e ...

  6. [oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点

    各种符号 回忆上次内容 中文字符可以有各种分类方法 声母 拼音检字法   韵母 合辙押韵的分类   偏旁部首 实际上unicode的排序方法     ​   添加图片注释,不超过 140 字(可选) ...

  7. 学习笔记--Java中的数据类型

    Java中的数据类型 /** * Java中的数据类型: * 程序当中有很多的数据,每一个数据拥有与之相关的类型. * * * 1. 数据类型的作用: * 不同类型的数据占用的空间大小不同,数据类型的 ...

  8. 从pytest源码的角度分析pytest工作原理

    从pytest源码的角度分析pytest工作原理 从 pytest 源代码的角度来分析其工作原理,我们需要关注几个关键的部分,特别是 pytest 的启动过程以及测试的收集与执行.下面是基于 pyte ...

  9. 【Windows】解决微软商店打不开的问题

    参考贴吧的帖子: https://tieba.baidu.com/p/6028738660#123983609458l 1.打开"运行"输入 inetcpl.cpl (" ...

  10. 【C3】04 工作原理

    我们已经知道了CSS是做什么的以及怎么写简单的样式这样基础的CSS, 接下来我将了解到浏览器如何获取CSS.HTML和将他们加载成网页. 前置知识: 基础计算机知识.基本软件安装.简单文件知识.HTM ...