docker+haror
docker
2013年诞生,推荐单容器只运行一个程序或进程,形成一个分布式的应用模型。

总结下来就是:docker带来启动流程更快,运行效率较高、资源损耗较小,属于轻量级的服务。
docker的安装
推荐的一键化安装的脚本:
这个脚本很好的解决了安装过程中出现的很多问题,同时,配置了很多的镜像加速器,实现docker pull的加速。
#!/bin/bash
Version="20.10.4-3.el7"# 下载docker安装源
wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装docker
yum -y install docker-ce-$Version || echo -e '\033[1;31m安装失败,请检查网络和yum源配置!\033[0m'# 使用国内镜像加速
# 阿里云(需要登录账号分配地址)
# 网易云 https://vgunv6qp.mirror.aliyuncs.com
# 腾讯云 https://mirror.ccs.tencentyun.com
# 中科大 https://docker.mirrors.ustc.edu.cn
# docker中国 https://registry.docker-cn.com
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]
}
EOF# 重新加载配置并启动docker
systemctl daemon-reload
systemctl enable --now dockerdocker version && echo -e "\033[1;32m${Version}安装成功!\033[0m" || echo -e '\033[1;31m安装失败!\033[0m'
docker自己的镜像仓库
- 第三方的仓库存在网速的限制
- 可以存储自己的镜像
具体的安装步骤可以参考我的之前文章:mac harbor。
上传本地的镜像

私有仓库镜像的下载

实际的验证
上传本地的镜像
- 在docker harbor上新建项目

- 本地拉取
centos的镜像,并进入容器,安装常用的工具
docker pull centos
# 建议这种方式启动,巨坑,centos容器会闪退
docker run -itd -p 22:22 --name my-centos centos /bin/bash# 进入容器
docker exec -it xxx /bin/bash
- 安装linux常用的工具
yum install -y curl wget vim nano gzip tar net-tools
发现了如下的异常:基本确定是镜像源的问题。
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream 17 B/s | 38 B 00:02
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
于是找到了一篇文章很好的解决了这个问题:问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:…
基本上都是直接复制粘贴命令:
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repoyum clean allyum makecache

这样子的就算成功了,继续执行我的命令。

很神速就安装完成了。不放心的可以再次验证一下:
yum list installed | grep vim# 后期再次验证容器echo 'hello shigen-centos' > readme.txt
在此致敬阿里云,提供了镜像,为开发者节省了很多的时间。
所以,现在我们看到我的centos拥有了阿里云的镜像,拥有了这么多常用的工具,我想要保存一份,供内部使用或者日后自己使用怎么办?barbor很好的解决了这个问题。
现在演示怎么上传到harbor的镜像仓库。
# 生成离线的镜像
docker save -o centos.tar.gz centos
# 查看
ll | grep centos# 加载离线的镜像包
docker load -i centos.tar.gz# 上传镜像打标签
docker tag centos:latest xxxxx/test/centos:v1
docker push xxxx/test/centos:v1
上述的教程存在问题,打包和上传的其实是和官方的镜像一样的,坑!我研究发现:我们需要自己把容器整成新镜像,推送到
harbor。
docker commit --author 'shigen' --message 'add tools and mirrors for centos' 89a shigen-centos:v1
# 查看所有的镜像,已经可以看到了我commit好的
docker images
现在就是推送了
# 重新命名一下标签
docker tag shigen-centos:v1 xxxxx/test/shigen-centos:v1
docker push xxxxx/test/shigen-centos:v1

在控制台中可以看到上传的进度。在harbor管理页面验证一下:

可以看到上传成功了。
私有仓库的下载
在拉取之前,为了验证效果,我先把本地的全部删除了,包括镜像、容器。
docker images
# 确保本地没有任何的镜像和容器
ocker pull xxxxx/test/shigen-centos:v1
运行容器
docker run -itd --name shigen-centos-v1 -p 22:22 699 /bin/bash
docker exec -it 22f /bin/bashcat ~/readme.txt
yum list installed | grep vim
可以看到可之前的一摸一样啦,OK,大功告成!
一些高级的玩法,或者视频教程,推荐:【老湿基】Docker 必知必会 (1): Harbor 容器镜像托管服务!CVE 自动扫描,上游自动缓存
其它的一些技巧
1. docker镜像开机自启
docker update xxx --restart=always
2. docker文件的添加
- 本机文件放到docker容器
docker filedir xxx:container_dir
- docker容器文件放到主机
docker cp 容器名:容器地址 本机地址
3. 查看docker的内存、网络等状况
docker stats
4. 将容器打包成镜像
docker commit -m "描述信息" -a "镜像作者" 容器名 镜像名:版本号# 将镜像备份
docker save 镜像名:版本号 -o xxx.tar
# 加载镜像
docker load -i xxx.tar
相关文章:
docker+haror
docker 2013年诞生,推荐单容器只运行一个程序或进程,形成一个分布式的应用模型。 总结下来就是:docker带来启动流程更快,运行效率较高、资源损耗较小,属于轻量级的服务。 docker的安装 推荐的一键化安装的脚本&#…...
Shell编程——弱数据类型的脚本语言快速入门指南
目录 Linux Shell 数据类型 变量类型 运算符 算术运算符 赋值运算符 拼接运算符 比较运算符 关系运算符 控制结构 顺序结构 条件分支结构 if 条件语句 case 分支语句 循环结构 for 循环 while 循环 until 循环 break 语句 continue语句 函数 函数定义 …...
iOS textView支持超链接跳转
将某些文字变成高量可以点击的超链接核心功能代码 attri.addAttribute(NSAttributedString.Key.link, value:NSURL.init(string: "dctt:p/userPrivacy.html")!, range: NSRange.init(location: s.count - 4, length: 4) )textView.linkTextAttributes [NSAttributed…...
大牛分析相机镜头光学中疑难问题
1、变焦和对焦有什么区别? 变焦就是改变镜头的焦距(准确说是像距),以改变拍摄的视角,也就是通常所说的把被摄体拉近或推远。例如18-55mm和70-200mm镜头就是典型的变焦镜头。焦距越长,视角越窄。 对焦通常指调整镜片组和底片(传感器平面)之间的距离,从而使被摄物在CC…...
xacro机器人模型文件转urdf文件怎么编写launch文件启动gazebo仿真和在rviz2内显示模型
urdf文件很直白,每个零件的</link> </joint>都要编写一遍,每个零件数据都要自己算出来结果,很麻烦,但是用起来很简单。xacro写的模型文件可以把好多常量提前定义出来,不同大小的机器人只要只要改一下常量…...
前端图片转base64,并使用canvas对图片进行压缩
目录 1.图片转base64的应用场景 2.图片转base64代码 3.对上传的图片进行压缩 1.图片转base64的应用场景 图片转base64通常用在用户上传图片的情况下使用,他的作用就是让用户看到预览的图片不受网络的影响。 这是传统的文件传输的流程:首先是用户选择…...
电脑键盘打不了字按哪个键恢复?最新分享!
“有没有朋友知道电脑键盘为什么会莫名其妙就打不了字?明明用得好好的,突然就打不了字了,真的让人很迷惑!有什么方法可以解决吗?” 电脑键盘为我们的办公提供了很大的方便,我们可以利用键盘输入我们需要的文…...
ue5读取外部文件
准备环境 我的环境是win10,ue5.1.1,cpux86。 创建工程时,需要选择C模式 这样在Content Browser中会出现C Classes文件夹,下面有一个本项目命名的文件夹,鼠标右键可以看到New C Class选项。 新建类的时候选择父类Blue…...
【ARM】Day4 点亮LED灯
1. 思维导图 2. 自己编写代码实现三盏灯点亮 .text .global _start _start: /**********LED1,LED2,LED3点灯:PE10,PF10,PE8**************/ RCC_INIT:使能GPIOE组/GPIOF组控制器,通过RXCC_MP_AHB4ENSETR设置第[5:4]位写1,地址:0x50000A28[5:4]1ldr r0,0x50000A28 …...
TiDB基础介绍、应用场景及架构
1. 什么是newsql NewSQL 是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。 NewSQL是指这样一类新式的关系型数据库管理系统,针对OLTP(读-写&…...
深入学习前端开发,掌握HTML、CSS、JavaScript等技术
课程链接: 链接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取码: i654 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 第1周:HTML5基础语法与标签 …...
python编程小游戏 五子棋,python编程小游戏简单的
大家好,本文将围绕python编程小游戏如何停止展开说明,python编程小游戏日语教程是一个很多人都想弄明白的事情,想搞清楚python编程小游戏超级玛丽需要先了解以下几个事情。 今天分享一个有趣的Python游戏库freegames,它里面包含经…...
spring ico容器 spring注入方式 spring与tomcat整合
一、简介 1、什么是spring? Spring是一个开源的轻量级Java应用开发框架,它提供了一种简单、高效、灵活的方式来构建企业级应用程序。Spring框架的核心特点是依赖注入(Dependency Injection)和面向切面编程(Aspect-Ori…...
ansible 修改远程主机nginx配置文件
安装ansible brew install ansible 或者 pip3 install ansible 添加远程主机 设置秘钥 mac登录远程主机 ssh -p 5700 root192.168.123.211 ssh localhost #设置双机信任 ssh-kyegen -t rsa #设置主机两边的ssh配置文件 vi /etc/ssh/sshd_config/ PermitRootL…...
EV 录屏修复小工具
参考这篇文章, EV录制文件损坏-修复方法, 我用 C# 写了一个小程序. 仓库: github.com/SlimeNull/EvRepair 下载: github.com/SlimeNull/EvRepair/Releases 镜像: gitee.com/slimenull/EvRepair/releases 觉得还不错的话, 点个星星 推荐使用的几个理由: 内嵌 ffmpeg 和 recov…...
蓝牙资讯|中国智能家居前景广阔,蓝牙Mesh照明持续火爆
据俄罗斯卫星通讯社报道,中国已成为全球最大的智能家居消费国,占全球50%—60%的市场份额。未来,随着人工智能技术的发展以及智能家居生态的不断进步,智能家居在中国的渗透率将加速提升。德国斯塔蒂斯塔调查公司数据显示࿰…...
2023年排行前五的大规模语言模型(LLM)
2023年排行前五的大规模语言模型(LLM) 截至2023年,人工智能正在风靡全球。它已经成为热门的讨论话题,吸引了数百万人的关注,不仅限于技术专家和研究人员,还包括来自不同背景的个人。人们对人工智能热情高涨的原因之一是其在人类多…...
DoIP学习笔记系列:(六)满足AES128-CMAC算法的“安全认证”.dll生成实践
文章目录 1. 算法Demo2. 算法实现传送门 DoIP学习笔记系列:导航篇 AES128-CMAC算法在汽车电子控制单元的软件开发中涉及到安全相关的需求经经常用到,具体的算法原理请各位小伙伴自行百度,本篇主要向大家分享该算法如何集成到.dll文件中,在OTA、刷写等场景作为$27服务的安全…...
Collections操作集合的工具类,可变参数、集合操作的工具类
1、可变参数 假设定义一个方法求和,该方法可以灵活的完成如下需求: 计算1个数据的和计算2个数据的和计算3个数据的和计算n个数据的和,甚至可以支持不接收参数进行调用。 1.1、可变参数 可变参数用在形参中可以接收多个数据。可变参数的格式&…...
Linux Kernel:进程表示
环境: Kernel Version:Linux-5.10 ARCH:ARM64 一:前言 Linux内核涉及进程和程序的所有算法都围绕task_struct数据结构建立,具体可看另一篇文章: Linux Kernel:thread_info与task_struct 同时Linux提供了资源限制(resource limit, rlimit)机制,对进程使用系统资源施…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
