Docker 是什么? Docker 基本观念介绍与容器和虚拟机的比较
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:历代文学,移动端可微信小程序搜索“历代文学”)总架构师,15年
工作经验,精通Java编程
,高并发设计
,Springboot和微服务
,熟悉Linux
,ESXI虚拟化
以及云原生Docker和K8s
,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。
技术合作请加本人wx(注明来自csdn):foreast_sea
Docker 是什么?
Docker 是一种开源软件平台,它的构想理念是「Build and Ship any Application Anywhere」,意即让开发者在虚拟环境中,开发、部署和管理任的何应用程序。 Docker 的轻量化特性,提供应用程序独立的测试环境。 让用户只需专注于应用程序的开发,为他们省下建置环境的时间与精力。
为什么要使用 Docker
(一)在主机上快速部署
由于 Docker 容器具有跨平台便携性,并且共享操作系统中的资源,它相较虚拟机更为轻量。 在相同资源下,能执行容器数大约是虚拟机的5到10倍,能够提高开发者的工作效率并节省资金。
此外,使用EDB提供的PostgreSQL Docker image,您可以快速地在开发、测试和生产环境中部署PostgreSQL数据库,而不需要担心环境配置和兼容性问题。 EDB 的 PostgreSQL Docker image 也针对 Docker 环境进行了优化,可以提供更高的性能和可靠性。
(二)版本控管和对象重复使用
Docker 让用户能够储存不同的版本的历史纪录,用户能够依照自己的喜好回滚(Roll Back)至最合适的版本。 开发人员只需将环境设定好,就能使用先前保存好的容器,达到重复使用的目的。
此外,使用 HashiCorp Vault 可以安全地管理 Docker image 中的 secrets 和配置信息。 Vault 可以将这些敏感信息加密存储,并提供安全的访问控制,确保只有授权的用户和应用程序才能访问这些信息,避免 secrets 泄露的风险,同时也能方便地重复使用这些安全的映像文件(Image)。
(三)更有效率的 CI/CD 流程
Docker 帮助开发人员在任何环境下测试代码,协助他们在应用程序开发初期就能找出错误。 利用 Docker 易与其他工具整合的优势,开发人员能将 GitHub 和 Jenkins 整合至 Docker 中。 只需将代码交付至 Github,再由 Jenkins 进行自动化布署,就能够快速地建立映像文件(Image)。 开发者还能将映像文件上传至 Docker Hub 来解决不同版本间环境不兼容的问题。 Docker 能够简化开发部署流程、减少环境建置的时间,以及让开发人员同时执行多个测试。
此外,在CI/CD流程中,可以使用ELK Stack来收集和分析Docker容器的日志和事件,例如建置日志、测试结果、部署状态等。 这些信息可以帮助开发人员快速识别和解决问题,并追踪应用程序的交付过程。 ELK Stack 的 dashboards 和可视化功能可以提供 CI/CD 流程的清晰概览,帮助团队更好地监控和管理整个流程。
开发人员让 Docker 融入 CI 流程的一种方式是,开发者在建立完应用程序后,通过 CI 服务器建立 Docker 映像文件(Image),再将应用装入映像文件,最后再上传到 Docker Hub。 开发者能够在另一台主机上,不论是在QA、DEV或正式环境,从Docker Hub上接入映像文件并运行容器,在CI服务器中,开发者甚至能在创建映像文件的过程中,完成编辑和测试。
虚拟化技术是什么?
在认识 Docker 前,我们必须先了解何谓虚拟化? 简而言之,虚拟化技术想解决的核心问题是,不同电脑的操作系统与硬件资源配置不兼容。 举例来说,今天我开发了一款应用程序,经测试后,它能够在我的地端环境中正常运行,但如果我想将它安装至其他环境或部署至云端。 我就必须建置相同的环境,和配置相同硬件资源,例如:服务器、CPU、数据库、扩充程序等等。
然而,这种「例行公事」往往需要耗费大量时间,而且没人能保证你的程序在新环境中能够正常运作。 因为不同环境使用的操作系统不尽相同,即便同样使用 Linux,不同版本间也存在着些微的差异。 而虚拟技术的问世就是为了解决这种「明明在我的环境中能运作,但搬到其他地方就坏掉」的问题。
目前常见的虚拟技术有两种,一种是以处理操作系统为单位的虚拟化技术,我们将它称之为虚拟机(Virtual Machine),著名的代表有 VMware; 另一种是以 APP 为单位的虚拟化技术,我们将它称为容器化(Containerize),著名的代表有 Docker Container。 下文将为各位分别介绍这两种技术
虚拟机(VM)
VM 是一种体积庞大且耗能高的软件套件。 VM 会模拟底层的主机资源(CPU、RAM、Storage),将资源分配给上层的应用程序使用。 在 VM 的架构中有一层名为 Hypervisor 的平台。 这种平台被用于管理硬件资源的使用和分配。 简单来说,Hypervisor 让用户能够在操作系统上(Host OS)增加另一个操作系统(Guest OS),并且让这两种操作系统相互协作。 每个 VM 包含操作系统、应用程序、必要的二进制文件和系统库的完整副本-容量大约为 10 GB,因此 VM 启动的时间会较为缓慢。
容器化(Containerize)
容器化是一种在概念上相似于虚拟机,但在原理上略有不同的技术,其主要目的在于提供开发者用于测试应用程序的沙盒环境。 开发者将想测试的应用程序与 Dependency(相依性资源)封装于容器进行测试。 容器化与 VM 的相异之处在于,由于容器不会模拟系统底层的基础架构,因此需耗费的资源也相对较低。 开发者能够在容器内配置不同的资源,因为每个容器都独立运行且彼此之间不会互相影响。
译注: Dependency(相依性资源): Dependency (相依性资源)在这边泛指 system libraries(系统函式库)、External Third-Party Code Package(第三方代码套件)。
容器(Container)VS 虛擬機(VM)
雖然容器和虛擬機具有類似的功能及優勢,但其實它們被用於處理不同面向的問題,VM 的主要功能是作業系統的虛擬化,容器主要的功能是虛擬化操作系統,因此容器相較於 VM 更容易攜帶,也更高效。
以下表格為容器與虛擬機的對比
功能 | Virtual Machine | Docker Container |
虛擬化的目標 | 作業系統 | 應用系統 |
啟動時間 | 久(幾分鐘) | 短(幾秒) |
容量 | GB | MB |
耗費資源 | 較多 | 較少 |
複製相同環境 | 慢 | 快 |
服務內容 | 大型專案服務 | 多使用於微服務中 |
组成 Docker 的重要元素
在了解虚拟技术的基本观念后,我们将在这段剖析构成Docker的重要元素,让大家对Docker元素间的工作流程有更全面的了解。
Dockerfile
开发人员在使用 Docker 时发现,大多现成的 Docker 映像文件无法满足他们的需求,因此需要一种能够生成映像档的工具。 Dockerfile 是一种简易的文件文件,里面包含了建立新映像文件所需的指令。
Dockerfile 语法主要由 Command(命令)和 Argument (参数选择)两大元素组成。 以下是一个简易的 Docker file 示意图:
命令式语法+选择参数(Command + Argument)
以这张图来说 From 是命令式,而 nginx 是选择参数
Image (映像文件)
Docker 映像文件是创建容器的模板,我们能将它想象为一种虚拟机快照(snapshot),映像文件包含了开发者需要部署的应用程序、操作系统和编译环境。 开发者能透过映像文件建置不同的容器,在容器中,每个应用程序都是独立运行的,彼此互不影响。
Container (容器)
容器是映像文件建立出来的实例(Instance),我们能将它比喻为一个轻量级的沙盒,Docker 利用容器运行和隔离应用程序,能够在容器中将应用程序启动、开始、停止、删除。 由于映像文件是唯读(Read Only)的模板,因此容器在运行后映像文件的上层会增加一个能够修改的读写层(Read and Write),而映像档本身则不变。
Repository(仓库)
Repository 是储存映像档的地方,用户可以将自己完成的映像文件上传至仓库上储存,仓库上也有许多现成的映像文件供用户存取,仓储的种类被分为公开与私人两种,目前官方最大的公开仓库是 Docker Hub。 在上面储存了超过 15,000 个映像文件供用户下载。
Docker 的运作流程
步骤一、撰写 Dockerfile,步骤二、将 Dockerfile 建立为 Image,步骤三、将 Image 运行为容器。 透过这三个简单的步骤,就能创建自己的 Docker 容器啰!
相关文章:
Docker 是什么? Docker 基本观念介绍与容器和虚拟机的比较
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:历代文学,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计…...
Docker:安装与部署 Nacos 的技术指南
1、简述 Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一个动态服务发现、配置管理和服务治理的综合解决方案,适用于微服务架构。 Nacos 主要功能: 服务发现与注册:支持 Dubbo、Spring Cloud 等主流微服务框架的服务发现与注册。动态配置管理:支持…...
UE5 RPC调用示例详解
文章目录 前言一、示例场景二、代码实现三、关键点解析3.1 RPC类型选择3.2 可靠性设置3.3 权限控制3.4 输入处理 四、测试与验证总结 前言 在UE5中,RPC(远程过程调用)是实现多人游戏逻辑同步的核心机制。以下通过一个玩家跳跃的示例…...
MATLAB在工程领域的实际应用案例
文章目录 前言自动驾驶汽车路径规划系统汽车先进驾驶辅助系统(ADAS)开发控制电气系统设计与优化桥梁结构分析与安全性评估 前言 MATLAB 在工程领域应用广泛,能解决复杂问题、优化系统设计。下面从不同工程领域选取了具有代表性的案例&#x…...
【完美解决】VSCode连接HPC节点,已配置密钥却还是提示需要输入密码
目录 问题描述软件版本原因分析错误逻辑链 解决方案总结 问题描述 本人在使用 VSCode Remote-SSH 插件连接超算集群节点时,遇到以下问题:已正确配置 SSH 密钥,且 VSCode 能识别密钥文件(如图1),但在…...
智能物联网网关策略部署
实训背景 某智慧工厂需部署物联网网关,实现以下工业级安全管控需求: 设备准入控制:仅允许注册MAC地址的传感器接入(白名单:AA:BB:CC:DD:EE:FF)。协议合规性:禁止非Modbus TCP(端口…...
玩转代理 IP :实战爬虫案例
在现代互联网环境下,爬虫不仅是数据获取的利器,也成为应对网站反爬机制的技术博弈。而在这场博弈中,"代理 IP" 是核心武器之一。本文将以高匿名的代理ip为核心,结合 Python 实战、代理策略设计、高匿技巧与反封锁优化&a…...
Deepseek解锁科研绘图新方式
在科研领域,一张清晰、准确且美观的图片往往能比冗长的文字更有效地传达研究成果。从展示实验数据的图表,到阐述理论模型的示意图,科研绘图贯穿于研究的各个环节。然而,传统的科研绘图工具往往操作复杂,学习成本高&…...
【unity游戏开发入门到精通——动画篇】Animator反向动力学(IK)
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、…...
【JavaScript】十八、页面加载事件和页面滚动事件
文章目录 1、页面加载事件1.1 load1.2 DOMContentLoaded 2、页面滚动事件2.1 语法2.2 获取滚动位置 3、案例:页面滚动显示隐藏侧边栏 1、页面加载事件 script标签在html中的位置一般在</body>标签上方,这是因为代码从上往下执行,在htm…...
Solana链开发全景指南:从环境搭建到生态实践
——2025年高性能区块链开发技术栈深度解析 一、Solana核心优势与技术特性 1. 突破性技术架构 历史证明(PoH):通过时间戳序列化交易,实现并行处理能力,支持5万TPS的吞吐量 并行执行引擎(Sealevel…...
这是一个文章标题
# Markdown 全语法示例手册本文档将全面演示 Markdown 的语法元素,包含 **标题**、**列表**、**代码块**、**表格**、**数学公式** 等 18 种核心功能。所有示例均附带实际应用场景说明。---## 一、基础文本格式### 1.1 标题层级 markdown # H1 (使用 #) ## H2 (使用…...
预言机与数据聚合器:DeFi的数据桥梁与风险博弈
一、核心机制与价值定位 预言机(Oracle)与数据聚合器是DeFi生态的“数据基建层”,解决链上-链下数据互通与链上数据可读性两大问题: 数据输入层(预言机):将现实世界数据(价格、天气…...
通过百度OCR在线API识别带水印扫描图片文字
目录 0 环境准备 1 百度OCR API申请 1.1 登录百度智能云 1.2 创建应用 1.3 获取API key和secret key 2 创建项目python环境 2.1 conda创建python环境 2.2 在pycharm中创建项目 2.3 激活python环境 2.4 安装项目依赖包 3 程序逻辑实现 3.1 导入依赖包 3.2 定义百度k…...
ocr python库
ocr python库 上手Git、Gitee和Github!watt toolkit...
Node 处理 request 的过程中,都会更新哪些 metadata 和 property
什么是 Metadata? 用于描述帧状态、控制参数、处理结果等 是随 request 流动的结构,通常是 PerFrameMetaData,每一帧一份 属于 HAL3 metadata 树的组成部分 什么是 Property? 是 CamX 内部定义的一种帧级别的轻量信息块 不一…...
基于labview的多功能数据采集系统
基于labview的多功能数据采集系统(可定制功能) 包含基于NI温度采集卡。电流采集卡。电压采集卡的数据采集功能 数据存储 报表存储 数据处理与分析 生产者消费者架构 有需要可联系...
李沐《动手学深度学习》 | 线性神经网络-线性回归
文章目录 线性回归1.确定模型2.衡量预估质量-损失函数3.深度学习的基础优化算法随机梯度下降小批量随机梯度下降 从线性回归到深度网络 线性回归从0开始实现构造一个人造数据集创建数据集可视化数据集 读取数据-随机抽取样本模型定义模型参数初始化定义模型定义损失函数定义优化…...
LabVIEW 中 “Flatten To Json String” VI 应用及优势
在 LabVIEW 开发涉及机器人数据等场景时,常需将数据以特定 JSON 格式输出。“Flatten To Json String” VI 在此过程中能发挥重要作用,相比 LabVIEW 系统自带的 JSON 处理方式,它具备独特优势。以下将介绍其获取、使用方法及相较系统自带方式…...
关于 Spring Boot 后端项目使用 Maven 打包命令、JAR/WAR 对比、内嵌服务器与第三方服务器对比,以及热部署配置的详细说明
以下是关于 Spring Boot 后端项目使用 Maven 打包命令、JAR/WAR 对比、内嵌服务器与第三方服务器对比,以及热部署配置的详细说明: 一、Maven 打包命令详解 1. 基础命令 1.1 清理并打包 mvn clean packageclean:删除 target 目录中的旧构建文…...
用labview写crc8校验
crc8校验有好几种,我这里写的是不带任何后缀的crc8。 首先,我们百度一下crc8的计算方式 一般搜索出来下面还有c语言写的crc8可以做为参考。 下面便是根据百度的计算方式写的crc8,已校验过,无问题。 写完后,可以输入下…...
阿里云CDN与DCDN主动推送静态资源至边缘服务器的ASP.NET WEB实例
一、CDN,需要调用PushObjectCache接口进行URL预热,以下是操作步骤: 1. 准备工作 首先,安装阿里云SDK NuGet包: Install-Package Aliyun.NET.SDK.CDN -Version 3.0.0 Install-Package Aliyun.NET.SDK.Core -Version 3.0.0 2. 创建ASP.NET Web页面代码 CDNPreheat.aspx…...
LangChain-提示模板 (Prompt Templates)
提示模板是LangChain的核心组件,用于构建发送给语言模型的输入。本文档详细介绍了提示模板的类型、功能和最佳实践。 概述 提示工程是使用大型语言模型的关键技术。通过精心设计的提示,可以显著提高模型的输出质量和相关性。LangChain的提示模板系统提…...
多线程中的互斥与同步
多线程中的互斥与同步 1. 互斥与同步的区别 互斥:确保某一资源在同一时刻只能被一个线程访问。其主要目的是保证资源的唯一性和排他性,但无法控制访问的顺序。同步:在互斥的基础上,进一步通过其他机制保证访问资源的有序性。 2…...
ValueError: Cannot handle batch sizes > 1 if no padding token is defined`
ValueError: Cannot handle batch sizes > 1 if no padding token is defined` batch sizes > 1 进行掩码填充:pad_token,eos_token 在处理自然语言处理任务时,尤其是在使用批量数据进行训练或推理时,经常需要对输入文本进行填充(padding),以确保每个输入序列具…...
Gemma 3模型:Google 开源新星,大语言模型未来探索
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、快速发展的AI世界:为何关注Gemma 3&#x…...
先占个日常,等会写。
引入一个重要的概念 “struct” (译为中文:结构体) 可用作设出比较复杂的一些变量类型 语法 :struct point name { int x; int y; int z;} point 和 name是任意命名的名字,含义是,声明一个变量类型为st…...
PyTorch Tensor维度变换实战:view/squeeze/expand/repeat全解析
本文从图像数据处理、模型输入适配等实际场景出发,系统讲解PyTorch中view、squeeze、expand和repeat四大维度变换方法。通过代码演示对比不同方法的适用性,助您掌握数据维度调整的核心技巧。 一、基础维度操作方法 1. view:内存连续的形状重…...
212、【图论】字符串接龙(Python)
题目描述 题目链接:110. 字符串接龙 代码实现 import collectionsn int(input()) beginStr, endStr input().split() strList [input() for _ in range(n)]deque collections.deque() # 使用队列遍历结点 deque.append([beginStr, 1]) # 存储当前字符串和遍…...
土堆教程笔记【PyTorch】
官网:torch — PyTorch 2.6 documentation Pycharm 解释器 一般搞深度学习都用虚拟环境的解释器,为了满足不同的项目所需要的不同的包的版本。 1. system interpreter表示本地的解释器 也就是你电脑系统里安装的解释器 2. Virtual Environment—Py…...
【今日三题】小乐乐改数字 (模拟) / 十字爆破 (预处理+模拟) / 比那名居的桃子 (滑窗 / 前缀和)
⭐️个人主页:小羊 ⭐️所属专栏:每日两三题 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 小乐乐改数字 (模拟)十字爆破 (预处理模拟)比那名居的桃子 (滑窗 / 前缀和) 小乐乐改数字 (模拟) 小乐乐改数字…...
各类神经网络学习:(九)注意力机制(第1/4集),背景介绍,以及理解与引入
上一篇下一篇GRU(下集)注意力机制(第2/4集) Attention(注意力机制) 又叫做: attention pooling 简单来说,就是在训练的过程中,已知哪些东西更重要,哪些东西次重要。从而更…...
微软出品的AI Toolkit,在VS Code中使用DeepSeek
文章目录 简介调用DeepSeek 简介 AI Toolkit是微软出品的VS Code智能插件,整合了多种AI大模型,使之可以在VS Code中调用。 在插件栏搜索【AI Toolkit for Visual Studio Code】即可安装。安装完成后,左侧活动栏中会出现【AI Toolkit】的图标…...
随机森林与决策树
随机森林 vs 决策树: 随机森林(Random Forest)和决策树(Decision Tree)都是经典的机器学习算法,但它们在原理、性能和适用场景上有显著差异。以下是关键对比: 1. 决策树(Decision T…...
Selenium中`driver.get(htmlfile)`方法可能出现的超时问题
针对Selenium中driver.get(htmlfile)方法可能出现的超时问题,以下是几种改进方案及具体实现方法: 1. 设置页面加载超时时间 通过set_page_load_timeout()方法直接控制页面加载的最大等待时间。若超时,会抛出TimeoutException异常,…...
selenium快速入门
一、操作浏览器 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By# 设置选项 q1 Options() q1.add_argument("--no-sandbo…...
C++_智能指针
目录 一、智能指针的使用场景、基本概念 (1)因为抛异常而出现的资源泄漏的情况 二、RAII和智能指针的设计思路 三、c标准库智能指针以及使用 (1)几种智能指针的概念 auto_ptr unique_ptr shared_ptr weak_ptr 不是new出来…...
微服务简述
单体架构和微服务架构的区别? 最显著的区别看上去就是单体架构用的同一个数据库,微服务架构用的各自的数据库 单体架构: 所有功能模块(如用户管理、订单处理、支付等)都紧密耦合在一个代码库中。模块之间通过函数调用…...
研发效能实践:BDD(行为驱动开发)深度解毒手册:从「撕逼大会」到「人见人爱」的协作秘笈
引言:每个研发团队都该养一亩「黄瓜田」——论BDD如何终结「三体人」式需求沟通 🌌 「产品说登录要人脸识别,开发做成了指纹验证,测试按文档测出18个bug,最后发现原型图藏在三年前的邮件附件里…」家人们…...
【第40节】windows编程:仿造MFC版本QQ安全卫士
目录 前言 一、实现功能 二、附加功能 三、开发环境 四、数据库简单字段设计 五、代码架构 六、软件界面 七、功能架构 八、部分功能截图 九、相关实现细节概要 9.1 获取文件信息 9.2 清理电脑垃圾信息 9.2.1 回收站 9.2.2 清理指定数据下的文件 9.3 数据库与网…...
BOE(京东方)旗下控股子公司“京东方能源”成功挂牌新三板 以科技赋能零碳未来
2025年4月8日,BOE(京东方)旗下控股子公司京东方能源科技股份有限公司(以下简称“京东方能源”)正式通过全国中小企业股份转让系统审核,成功在新三板挂牌(证券简称:能源科技,证券代码:874526),成为BOE(京东方)自物联网转型以来首个独立孵化并成功挂牌的子公司。此次挂牌是BOE(京…...
【汽车产品开发项目管理——端到端的汽车产品诞生流程】
MPU:集成运算器、寄存器和控制器的中央处理器芯片 MCU:微控制单元,将中央处理器CPU、存储器ROM/RAM、计数器、IO接口及多种外设模块集成在单一芯片上的微型计算机系统。 汽车产品开发项目属性:临时性、独特性、渐进明细性、以目标…...
Visual Studio 2019 配置VTK9.3.1
文章目录 参考博客1、 VTK下载和编译2、vs2019配置vtk9.3.1参考博客 Visual Studio 2022 配置VTK9.3.0 1、 VTK下载和编译 见博客 CMake编译VTK 2、vs2019配置vtk9.3.1 新建一个项目 写入以下代码 #include <vtkActor.h> #include <vtkAssembly.h> #include…...
【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发
项目视频介绍: 毕业作品基于小程序的智能停车管理系统设计与开发 课程简介: 本课程演示的是一款基于小程序的智能停车管理系统设计与开发,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:…...
科技自立+产业周期:透视人工智能的配置机遇
最近,全球市场因关税政策调整引发震荡,科技板块波动尤为明显。在此背景下,中国人工智能产业经历了一轮回调。 不过,《一点财经》注意到,4月9日上证科创板人工智能指数一度上涨3.7%。拉长周期看,Wind数据显…...
linux网络配置
今天我们来了解一下linux的网络配置,这个是我们进行网络传输的基础,保证网络资源的使用的手段.那么来看. 网络配置原理图: 查看网络ip和网关 windows:ipconfig linux:ifconfig ping测试主机之间网络联通性 ⭐️ip地址要在同一个网段下才…...
机器学习 | 强化学习方法分类汇总 | 概念向
文章目录 📚Model-Free RL vs Model-Based RL🐇核心定义🐇核心区别 📚Policy-Based RL vs Value-Based RL🐇核心定义🐇 核心区别 📚Monte-Carlo update vs Temporal-Difference update…...
git仓库迁移包括提交记录日志
网上找了很多资料都不好用,直到看到一个亲测有效后,整理如下: 1、进入仓库目录下,并且切换到要迁移的分支上 前提是你本地已有旧仓库的代码;如果没有的话,先拉取。 2、更改仓库地址 git remote set-url …...
Docker部署.NetCore8项目
在VS.net新建.netCore8项目,生成项目的发布文件,之后添加Dockerfile,内容如下: FROM mcr.microsoft.com/dotnet/aspnet:8.0 # 设置工作目录 WORKDIR /app # 挂载临时卷(类似于 VOLUME /tmp) VOLUME /tmp …...
xv6部分源码阅读-1
xv6部分源码阅读 前言 在lab2中,我们会为了完成attack这个实验,而花费大量的时间去阅读相关的系统调用源码,以此来分析出我们最终secret所在的页表的位置,而我写lab2中,重点并没有关注其中的逻辑关系,有很…...