当前位置: 首页 > news >正文

nerdctl不完全使用指南(开发者)

目录

背景

环境配置

1.编译golang可执行文件

2.快速构建镜像


背景

k8s在1.22版本放弃docker作为runtime后采用了containerd,以containerd作为runtime的k8s安装方法已经出现了很多开源集成工具或者解决方案,在此不做赘述。本篇只要是描述在docker被取代后的一些开发者技巧。

从docker转到containerd后,命令行工具ctr和crictl不怎么好用,所以就有了nerdctl。
nerdctl的使用和docker一致,与docker具有相同的体验,用来替代docker cli做push/pull/run的操作。

环境配置

三台主机构建的v1.25.0 k8s集群

安装有:

nerdctl(没有请自行下载放入环境变量路径)

containerd

无golang语言环境

无buildkitd

1.编译golang可执行文件

开发调试,通常不需要ci/cd去做一个整个链路的编译打包镜像,一来耗时,二来可能需要上下游协作,增加了沟通和时间成本。特别是运维开发领域,做无状态服务或者一些系统服务的调用时,通过开发测试集群或者本地调试即可。最省事的是直接在服务器上编译程序并通过固定节点以及数据卷挂载来启动可执行程序,省去了打包镜像的步骤。

又因为众所周知的原因,本地编译好的可执行程序上传云服务器的速率非常慢,不如直接同步服务器上的代码,在服务器上直接完成编译。

下面的命令展示了如何通过一个有golang编译环境的容器来快速编译服务器上的项目文件:

nerdctl run --rm -it  \
-v ${project_dir}:/app \ # 主机项目目录挂载进容器工作目录
-v ${GOPATH}:/go \ # 主机任一目录 用来存放 go pkg
-w /app \
-e CGO_ENABLED=0  \
-e GOPROXY=https://goproxy.cn \
golang:1.18-alpine3.16 \
go build -o build/prods prods.go

2.快速构建镜像

有时候不仅需要在k8s上运行工作负载来启动可执行程序,可能也需要打包成容器镜像来测试,如果直接在服务器上通过nerdctl build来打包需要安装buildkitd后台程序来支持,官方有以下描述

Commands:
  build       Build an image from a Dockerfile. Needs buildkitd to be running.

由于懒是我们的宗旨,所以干脆直接在容器中构建,也即dind(docker in docker),从docker转containerd后,应该叫cinc了,这也是ci/cd pipeline里面的常用体位。容器中的构建工具我使用了kaniko,我们可以通过为容器传入环境变量来指定dockerfile路径,输出路径(比如docker hub、harbor),具体参见官方文档。

nerdctl run  --name myapp \-v /mnt/project/myapp/build:/workspace \ # 挂载编译的可执行文件和dockfile到工具目录aiotceo/kaniko-executor:v1.6.0 \ # 安装有kaniko的镜像--dockerfile /workspace/Dockerfile \--destination "192.168.0.152:5000/myapp:v1" \ # 输出到内网harbor--context dir:///workspace/

相关文章:

nerdctl不完全使用指南(开发者)

目录 背景 环境配置 1.编译golang可执行文件 2.快速构建镜像 背景 k8s在1.22版本放弃docker作为runtime后采用了containerd,以containerd作为runtime的k8s安装方法已经出现了很多开源集成工具或者解决方案,在此不做赘述。本篇只要是描述在docker被取…...

【独家】华为OD机试 - 分糖果(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

八股总结(二)计算机网络与网络编程

layout: post title: 八股总结(二)计算机网络与网络编程 description: 八股总结(二)计算机网络与网络编程 tag: 八股总结 文章目录计算机网络网络模型网络体系结构在浏览器输入一个网址后回车,背后都发生了什么&#x…...

ChatGPT  一本正经的胡说八道 那也看看原理吧

最近,ChatGPT横空出世。这款被马斯克形容为“强大到危险”的AI,不但能够与人聊天互动,还能写文章、改代码。于是,人们纷纷想让AI替自己做些什么,有人通过两分钟的提问便得到了一篇完美的论文,有人希望它能帮…...

ChatGPT:一个人机环境系统交互的初级产品

从人机环境系统智能的角度看,Chatgpt就是一个还没有开始上道的系统。“一阴一阳之谓道”,Chatgpt的“阴”(默会隐性的部分)尚无体现,就是“阳”(显性描述的部分)还停留在人类与大数据交互的浅层…...

PaddlePaddle本地环境安装(windows11系统)

写在前面: 这里是关于win11安装PaddlePaddle的步骤和方法,建议参考官方的方法。截止2023年3月份,PaddlePaddle的版本是2.4.2。 官方参考:飞桨PaddlePaddle快速安装使用方法 建议使用Anaconda安装 ,关于Anaconda创建环境的可以借鉴:深度学习Anaconda环境搭建(比较全面)…...

DBeaver 超级详细的安装与使用

一、下载DBeaver DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费(DBeaver Community) 的多平台数据库工具。 DBeaver支持80多个数据…...

计算机网络的166个概念 你知道几个第七部分

计算机网络传输层 可靠数据传输:确保数据能够从程序的一端准确无误的传递给应用程序的另一端。 容忍丢失的应用:应用程序在发送数据的过程中可能会存在数据丢失的情况。 非持续连接:每个请求/响应会对经过不同的连接,每一个连接…...

海尔三翼鸟:生态聚拢的密度,决定场景落地速度

最近学到一个新词,叫做涌现能力。 怎么理解呢?我们以当下最火的ChatGPT为例,GPT1模型是1.17亿参数,GPT2有15亿参数,GPT3有1750亿个参数。研究人员在放大模型规模的进程中发现一个惊人的现象,模型参数达到一…...

前端基础知识

文章目录前端基础知识HTML1. html基本结构2.常见的html标签注释标签标题标签(h1~h6)段落标签p换行标签 br格式化标签图片标签:img超链接标签表格标签列表标签表单标签input标签label标签select标签textarea 标签盒子标签div&span3. html特殊字符CSS1. 基本语法2…...

LiveData 面试题库、解答、源码分析

引子LiveData 是能感知生命周期的,可观察的,粘性的,数据持有者。LiveData 用于以“数据驱动”方式更新界面。换一种描述方式:LiveData 缓存了最新的数据并将其传递给正活跃的组件。关于数据驱动的详解可以点击我是怎么把业务代码越…...

kotlin用object实现单例模式,companion object与java静态

kotlin用object实现单例模式,companion object与java静态 kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。 //object相当于java的单例 object Singleton {var count: In…...

智慧楼宇中的“黑科技”

据不完全统计,无论是居家、办公、学习还是社交,人们有80%的时间都是在室内空间度过的。而随着社会生产力水平与人们消费理念的提升,用户对于楼宇建筑的使用要求也在不断提高,从最基本的舒适为先逐步朝着数字化、智慧化升级。 如果…...

炫云渲染质量功能测试

炫云已经支持优化渲染质量,分别是保守优化、中度优化和深度优化,使用后效果图的渲染时间会有所缩短,尤其对低版本V-Ray和参数设置不当的场景非常有效,能大幅提升渲染速度及节省渲染费用,当然最终效果图有可能有稍许差异…...

SpringBoot入门

文章目录前言一、约定大于配置二、使用步骤1.使用IDEA创建SpringBoot项目2.引入依赖3.测试三、application.properties和application.yml配置文件四、application.yml配置多环境五、测试:总结前言 SpringBoot并不是一门新的技术栈,它的主要目的是为了去…...

D. Constant Palindrome Sum(差分数组维护)

Problem - D - Codeforces 题意&#xff1a;给定长度为n的数组&#xff0c;每次操作可以选择一个数令a[i]变成[1,k]范围内的一个数&#xff0c;问最少需要多少次操作可以让a[i]a[n-i1]x (1< i < n/2)满足。 思路&#xff1a;利用差分数组d[i]表示x取i需要的总操作数。 …...

【C++】30h速成C++从入门到精通(IO流)

C语言的输入与输出C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据&#xff0c;并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区来…...

文件变成chk如何恢复正常

许多人不知道chk文件是什么&#xff1f;其实它是用户在使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”&#xff0c;而在u盘、内存卡等移动设备读取数据过程中&#xff0c;由于断电或强制拔出也容易产生大量的chk文件。那么文件变成chk如何恢复正常呢&#xf…...

Meta最新模型LLaMA细节与代码详解

Meta最新模型LLaMA细节与代码详解0. 简介1. 项目环境依赖2. 模型细节2.1 RMS Pre-Norm2.2 SwiGLU激活函数2.3 RoPE旋转位置编码3. 代码解读3.1 tokenizer3.2 model3.2.1 模型细节详解3.2.2 transformer构建3.3 generate4. 推理0. 简介 今天介绍的内容是Facebook Meta AI最新提…...

3/6考试总结

时间安排 7:30–7:50 看题&#xff0c;T1,T2 感觉是同类型的题&#xff0c;直接搜索状态然后 dp 一下&#xff0c;T3 估计是个独角晒。 7:50–8:20 T3&#xff0c;有 n^2 的式子&#xff0c;然后可以优化到 n ,写暴力验证一下发现不对。很迷&#xff0c;反复推了几遍都拍不上暴…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...