【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?
通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建?怎么将自己的镜像推送到私服仓库中呢?怎么验证是否成功呢?本文咱们就一起来学学怎么将镜像推送到私服镜像中。
大家好,我是凯哥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镜像发布到阿里云
大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java
【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?的更多相关文章
- docker学习教程
我们的docker学习教程可以分为以下几个部分,分别是: 第一:docker基础学习 第二:docker日志管理 第三:docker监控管理 第四:docker三剑客之一:docker-machine ...
- 非常详细的Docker学习教程
一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...
- Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
- Docker学习总结(12)——非常详细的 Docker 学习笔记
一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...
- Docker学习笔记_使用Dockerfile创建flask的一个镜像
一.实验环境 1.宿主机OS:Win10 64位 2 .虚拟机OS:Ubuntu18.04 64位 虚拟机名称:Ubuntu18VM1 虚拟机IP:192.168.8.25 3.账号:doc ...
- K8s+Docker 学习笔记系列
学前知识 你需要掌握 Linux 的常用命令.你可以通过Linux 教程 来学习相关命令. Docker应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环境中部署和调 ...
- Git学习教程一之安装Git&&&本地仓库建立
一. 安装git 1:在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项一直安装即可. 2:安装完成后,在开始菜单里找到“Git”-> ...
- docker学习笔记(1)——ubuntu16.04安装docker(含如何彻底卸载docker,docker拉取镜像失败解决)
参考博客: 1.官网教程:https://docs.docker.com/engine/install/ 根据本机不同的信息选择不同的安装方式: https://docs.docker.com/ ...
- Docker学习笔记之创建安装了nginx服务器的镜像
操作步骤: 1. 编辑Dockerfile 2. 使用build命令创建镜像 3. 使用run命令测试创建的镜像 编辑Dockerfile 首先,需要使用文本编辑器编辑Dockerfile文件(注意没 ...
- docker学习笔记(三)-通过network理解docker,在同一网桥里搭建docker容器
创建test1 test2 两个network namespace 两个network namespace没有被启动 启动了但是有没有与network关联 创建两个veth,用于关联两个network ...
随机推荐
- TI AM64x工业开发板硬件说明书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)
前 言 本文主要介绍TL64x-EVM评估板硬件接口资源以及设计注意事项等内容. 创龙科技TL64x-EVM是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核C ...
- P3806 题解
看到现有的一篇 DSU on tree 的题解复杂度假了,于是我来再写一篇. 首先重新梳理思路,维护每棵子树内深度为某个值的节点是否存在. 维护这个东西可以直接 DSU on tree 也就是把小的子 ...
- THM-Skynet-Writeup
通过学习相关知识点:攻破Linux目标机器并完成提权操作. 部署并渗透目标机器 step1 使用Nmap扫描端口 nmap -p- -sC -sV -T4 -v 10.10.164.81 139/44 ...
- ERP中内部批号和外部批号分别指的是什么
在企业资源计划(ERP)系统中,内部批号和外部批号是两个用于标识和跟踪产品的关键概念.它们通常用于管理和追踪生产.库存和供应链中的物料. 内部批号(Internal Batch Number): 定义 ...
- [oeasy]python0024_ 输出时间_time_模块_module_函数_function
输出时间 回忆上次内容 print函数 有个默认的 end参数 end参数 的值可以是任意字符串 end参数 的值会输出到结尾位置 end参数 的默认值是 ...
- vue小知识~实现父子组件双向数据绑定
vue的数据是单向数据流动,在子组件中是不可以修改父组件的数据的,但是还是可以通过其他方式间接修改父组件的数据. 核心思想:数据在哪个组件,就在哪个组件修改. 1,方式一:通过向子组件传递方法 这个方 ...
- 02-springboot配置
目录 1,前言 2,YAML介绍 3,获取yml配置文件内容 4,springboot的配置文件 5,springboot使用@Value实现映射 6,@PropertySource.@ImportR ...
- 计算机二级考试 C语言篇
本篇仅适用于计算机二级考试C语言篇 首先介绍一下二级考试时间问题(以本人考试2022年为例): 一. 2022年全国计算机二级考试时间 2022年全国计算机考试举办4次,(3月.5月.9月.12月 ...
- WPF控件库
Welcome to CookPopularControl 介绍 CookPopularControl是支持.NetFramework4.6.1与.Net5.0的WPF控件库,其中参考了一些资料,目前 ...
- 【Spring-Security】Re04 Matchers配置规则API
一.使用antMatchers放行静态资源: package cn.zeal4j.configuration; import cn.zeal4j.handler.FarsAuthenticationF ...