【微服务实战之Docker容器】第三章-镜像仓库

news2025/2/3 6:55:52

系列文章目录

【微服务实战之Docker容器】第一章-下载及安装


文章目录

  • 系列文章目录
  • Docker镜像提交
  • 本地镜像发布到阿里云
  • 阿里云镜像下载到本地使用
  • 本地镜像发布到私有库


Docker镜像提交

  • docker commit提交容器副本使之成为一个新的镜像
  • docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
  • 案例演示ubuntu安装vim
    • 从Hub上下载ubuntu镜像到本地并成功运行
    • 原始的默认Ubuntu镜像是不带着vim命令的
    • 外网连通的情况下,安装vim
    • apt-get update
    • apt-get -y install vim
    • 安装完成后,commit我们自己的新镜像
    • docker commit -m=“安装了vim的镜像” -a=“hahaz” 容器ID test333/mytestu:1.0
    • 查看images,发现我们自己提交的unbutu172M,比拉取的多了。
    • 运行起来,自带vim

本地镜像发布到阿里云

  1. 进入阿里云开发者平台。
    https://promotion.aliyun.com/ntms/act/kubernetes.html
  2. 创建仓库镜像
    选择控制台,进入容器镜像服务–>选择个人实例–>命名空间–>创建命名空间(comleadertest)–>镜像仓库–>创建仓库–>输入信息–>代码源选择本地仓库–>点击创建仓库
    我们要推送镜像到阿里中心仓库,使用给出的以下命令即可
    仓库镜像–> 管理即可获取到对应脚本
    在这里插入图片描述
    先使用自己的账号登录阿里云,对应的是第一条命令
    在这里插入图片描述
    绑定本地镜像标签,对应第二条命令
    在这里插入图片描述
    推送

在这里插入图片描述

推送成功
在这里插入图片描述

阿里云镜像下载到本地使用

先删除本地的镜像
在这里插入图片描述

查看镜像ID

docker images

根据ID删除镜像

docker rmi -f e31d10b7fc81

拉取阿里云镜像,和上传一样,提供的也有脚本
在这里插入图片描述

拉取
在这里插入图片描述

在这里插入图片描述

本地镜像发布到私有库

  1. 搭建本地私有的仓库中心
docker pull registry

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

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

启动下载过的ubuntu镜像

docker run -it ubuntu /bin/bash

进入到了docker内的ubuntu命令行界面,更新apt-get

apt-get update

下载安装ifconfig(默认的最小镜像是不带的)

apt-get install net-tools

安装完成后,ifconfig,已经能够使用
接下来ctrl+p+q退出容器
执行命令,将容器生成新的镜像,添加导本地镜像中

docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2  

在这里插入图片描述
把刚才的ubuntu关掉,然后启动我们的新的镜像,检查ifconfig命令是否可以正常使用

docker stop 6432d7887553
docker run -it d4338649e7e9 /bin/bash
  1. curl验证私服库上有什么镜像
 curl -XGET http://192.168.248.128:5000/v2/_catalog

可以看到,目前私服库没有任何镜像上传过。。。。。。
在这里插入图片描述
3. 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag
(给镜像打标签可以理解为git中的将本地仓库和远程仓库相关联,后边使用push命令就可以推送了)
按照公式: docker tag 镜像:Tag Host:Port/Repository:Tag

docker tag  zzyyubuntu:1.2  192.168.248.128:5000/zzyyubuntu:1.2 

在这里插入图片描述
4. 修改配置文件使私服支持http
私服一般做了安全加固,默认不支持http形式的推送,修改配置取消这个限制

vim /etc/docker/daemon.json

注意:配置是json格式,添加时要有一个逗号

,
  "insecure-registries": ["192.168.248.128:5000"]

在这里插入图片描述
修改完配置后,重启docker

systemctl restart docker

重启docker后,需要重启私服镜像

docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
  1. 将镜像推送到远程仓库
docker push 192.168.248.128:5000/zzyyubuntu:1.2

验证是否推送成功

 curl -XGET http://192.168.248.128:5000/v2/_c

在这里插入图片描述
6. 从私服拉取到本地执行
先把本地的镜像删除(把两个都删除)

docker rmi -f 192.168.248.128:5000/zzyyubuntu:1.2
docker rmi -f zzyyubuntu:1.2

删完之后检查下
然后从私服仓库重新拉取

docker pull 192.168.248.128:5000/zzyyubuntu:1.2

重新运行拉取的镜像,测试下ifconfig,发现成功啦。
O(∩_∩)O

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年网络安全需把握十大趋势

过去的2022年,网络安全继续成为全社会的关注焦点。网络战在俄乌冲突中风头尽出;勒索攻击给企业造成的损失触目惊心;数据泄露事件愈发频繁、甚至威胁社会安全;供应链攻击无处不在……网络安全已经成为发展的先决条件。 2023年是贯…

【大模型】AutoDL 快速使用

网站:https://www.autodl.com/ BUY 性价比之选:NVIDIA RTX A5000 / 24GB PS:CUDA版本 -12.0 PS:Pytorch/2.0.0/3.8(ubuntu20.04)/11.8 Use Tips git clone 慢 学术资源加速 source /etc/network_turbo切换pip 阿里源

TCP文件传输功能

实现代码 tcp.h #ifndef _TCP_H_ #define _TCP_H_#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> #include <strings.h> #include <…

链表的简单示意

链表的实质就是指针。存放下一个元素的地址。 typedef struct spy {char * name ;struct spy * next; }spy ,*p_spy;spy A {A,NULL}; spy B {B,NULL}; spy C {C,NULL};int main() {p_spy &A;A.next&B;//A是一个结构体变量&#xff0c;A.next是对这个结构体变量的引用。…

MySQL八股学习记录4事务的实现from小林coding

MySQL八股学习记录4事务的实现from小林coding 事务的概念与特性并行事务引发的问题脏读不可重复读幻读 MySQL的应对策略InnoDB引擎可重复读详解ReadView在MVCC中的工作方式两种隔离级别通过MVCC实现幻读被完全解决了吗 事务的概念与特性 概念:一个操作要么执行成功,要么回滚到…

Matplotlib subplots()函数详解

matplotlib.pyplot模块提供了一个 subplots() 函数&#xff0c;它的使用方法和 subplot() 函数类似。其不同之处在于&#xff0c;subplots() 既创建了一个包含子图区域的画布&#xff0c;又创建了一个 figure 图形对象&#xff0c;而 subplot() 只是创建一个包含子图区域的画布…

面试题揭秘:Spring Boot 自动配置原理是什么?

大家好&#xff0c;我是你们的小米。在过去的几年里&#xff0c;Spring Boot已经成为了Java开发领域中最受欢迎的框架之一。它以其简化的开发方式和强大的功能而闻名于世。今天&#xff0c;我们来揭秘一个常见的面试题&#xff1a;Spring Boot自动配置原理是什么&#xff1f;让…

针对汽配企业的生产难点,提出MES管理系统解决方案

随着汽车产业的快速发展&#xff0c;汽配企业面临着越来越多的生产难点&#xff0c;如生产过程不透明、效率低下、质量控制困难等。为了应对这些挑战&#xff0c;引入MES生产管理系统成为了一种有效的解决方案。本文将探讨MES生产管理系统在汽配企业中的应用&#xff0c;以及它…

【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码

【江西省研究生数学建模竞赛】题目之一 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 相关链接 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MA…

如何顺势而为,让ChatGPT为教育所用?

恐惧和回避无法阻挡科技的浪潮&#xff0c;教育与AI的深度融合时代已经到来&#xff0c;如何把AI当做工具&#xff0c;把其成为教育的机会而非威胁&#xff0c;是教育体系未来不得不得面对的新变化。 接受ChatGPT作为一种教学辅助工具&#xff0c;成为教师的朋友或者帮手&…

备战秋招010(20230717)

文章目录 前言一、基础1、网络模型01、OSI 七层02、TCP/IP 四层04、Linux 网络协议栈05、问题 2、常见的网络协议01、应用层02、传输层03、网络层 3、输入网址到网页显示过程01、基础02、DNS 解析03、URL 和 URI 二、HTTP1、基础01、概念02、状态码03、无状态 2、Get 和 Post01…

element-ui select数据回显显示数字的问题 el-select校验失效出现阿拉伯数字问题

初始化参数 return {fields: [{"title":"景区","id":0},{"title":"酒店","id":1}],evaluates: [{"title":"好评","id":0},{"title":"中评","id":1…

【Linux】- Linux 磁盘分区、挂载

Linux 磁盘分区、挂载 1.1 Linux 分区1.2 硬盘说明1.3 磁盘情况查询 1.1 Linux 分区 原理介绍 Linux 来说无论有几个分区&#xff0c;分给哪一目录使用&#xff0c;它归根结底就只有一个根目录&#xff0c;一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系…

SAP AES encrypt

加密算法简介: 加密技术通常分为两大类:"对称式"和"非对称式"。 对称性加密算法&#xff1a;对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的&#xff0c;之后便是对数据进行加解密了。对称加密算法…

【近场社交项目】数据库系统期末设计——逻辑设计部分

【近场社交项目】数据库系统期末设计——逻辑设计部分&#x1f60e; 前言&#x1f64c;3.2逻辑设计1、各个表的二维表&#xff1a;2. 用户信息ER图转换为逻辑和关系模型&#xff1a;3. 用户进行下单业务的ER图转换为逻辑关系模型4. 用户充值会员业务ER图转换为逻辑关系模型5. 用…

springboot实现全局异常捕获

导言&#xff1a; 为什么要做异常处理&#xff1a; 原因有三&#xff1a; 1、将系统产生的全部异常统一捕获处理。 2、自定义异常需要由全局异常来捕获。 3、JSR303规范的validator参数校验器、参数校验不通过、本身无法使用try…catch 其实对于前后端分离的项目做异常处理…

ROS:导航功能详解

目录 一、导航简介1.1导航概念1.2导航作用1.3导航模块简介1.3.1全局地图1.3.2自身定位1.3.3路径规划1.3.4运动控制1.3.5环境感知 1.4导航条件1.4.1硬件1.4.2软件 二、坐标系2.1坐标系简介2.2坐标系特点2.3坐标系变换 三、导航功能实现3.1SLAM建图3.1.1gmapping简介3.1.2gmappin…

【VUE】解决VU2项目图片视频加载缓慢/首屏加载白屏的问题

1 问题描述 前端项目中&#xff0c;有时候会出现图片视频加载缓慢、首屏加载白屏的问题 之前写了一篇在VU3项目中的解决方案&#xff0c; 现在讲一下在 Vue2 项目中的解决方法&#xff0c;方法思路都差不多&#xff0c;在代码示例上会有一些小差别 2 原因分析 通常是由以下原因…

辅助驾驶功能开发-功能规范篇(22)-6-L2级辅助驾驶方案功能规范

1.3.6 ELK 系统功能定义 ELK全称Emergency Lane Keeping&#xff0c;即紧急车道保持。当车辆与道路边界护栏&#xff08;包含隔离带护栏、路锥、水马&#xff09; 有碰撞危险或当车辆正偏出道路边沿且存在“对向来车”或“后向来车”与本车有碰撞风险时&#xff0c;通过给与转向…

Redis源码篇- SDS

Redis对于String类型&#xff0c;底层使用的是SDS&#xff08;简单动态字符串&#xff09;&#xff0c;而不是常规的C语言的字符数组 。 通常在C中&#xff0c;定义一个字符串&#xff0c;方式是通过字符数组表示&#xff0c;同时结尾使用/0表示结束&#xff1a;char [] &quo…