首页 > 其他分享 >基础知识-K8s(docker jenkins git)部分

基础知识-K8s(docker jenkins git)部分

时间:2024-04-02 16:37:40浏览次数:22  
标签:容器 git 文件系统 联合 树杈 jenkins docker Docker

(0402,更新到Git)

资料来源

roadmap.sh
一小时学会Git | GeekHour

Docker部分

Docker(容器)到底是什么

我的例子
预制菜的做法。为了能让使用者都能同一种食材和同一种烹饪方法,我特意在中央厨房,将一种菜式里的食材处理到半熟或者全熟的状态,然后用真空的包装包好,之后在仓库里存放。使用者通过网店购买,快递拿到手后,通过说明将预制菜进行烹饪。达到了同一种菜式同一种食材和同一种烹饪方法。

镜像到底是什么

就是Linux的文件系统,包含了可以运行Linux的内核程序和响应数据

联合文件系统是什么

image

联合文件系统(也称为UnionFS)在Docker的整体功能中起着至关重要的作用。它是一种独特的文件系统类型,通过覆盖多个目录创建虚拟的分层文件结构。与修改原始文件系统或合并目录不同,UnionFS支持在单个挂载点上同时挂载多个目录,同时保持它们的内容分开。这个特性在Docker上下文中特别有用,因为它允许我们通过最小化重复和减小容器映像大小来管理和优化存储性能。

以下是联合文件系统的一些基本特性:

分层结构:UnionFS构建了一个由多个只读层和一个顶层可写层组成的分层结构。这种结构只更新可写层,而只读层保留原始数据,从而有效地处理更改。

写时复制(Copy-on-Write): COW (Copy-on-Write)机制是UnionFS不可或缺的特性。如果容器更改了现有文件,系统将在可写层创建该文件的副本,而只读层中的原始文件不受影响。此过程将修改限制在最顶层,确保快速且资源高效的操作。

资源共享:联合文件系统允许多个容器在单独运行时共享公共基础层。避免资源重复,节省大量存储空间。

快速容器初始化:联合文件系统可以通过在现有只读层上创建一个新的可写层来立即创建新容器。这种快速初始化减少了重复文件操作的开销,最终提高了性能。

Docker中流行的联合文件系统
Docker支持多个联合文件系统,以方便构建和管理容器。一些受欢迎的选择包括:

AUFS (Advanced Multi-Layered unified Filesystem): AUFS被广泛用作Docker存储驱动程序,实现了对多层的高效管理。
OverlayFS(覆盖文件系统):OverlayFS是Docker支持的另一个联合文件系统。与AUFS相比,它使用一种简化的方法来创建和管理覆盖目录。
Btrfs (B-Tree Filesystem): Btrfs是一种现代文件系统,除了快照和校验和等高级存储特性外,还提供了与联合文件系统的兼容性。
ZFS (Z文件系统):ZFS是一个高容量和健壮的存储平台,它提供联合文件系统特性以及数据保护、压缩和重复数据删除。

Dockerfile

Dockerfile手册

Docker命令

Docker备忘录


Jenkins部分


Git部分

一小时学会Git | GeekHour
git教程 | GeekHour

例子

代码的数据库。每个人都有一个数据库在自己电脑里,然后只需要发布后进行同步就能得到新的数据。
发布文件像Docker一样的操作,自己写好代码,然后上传index,最后提交到仓库。

分支管理

一个程序像树(main)一样,分支就是树杈,分别有开发(dev)、功能(feat)、修补(hotfix)、发布(release)
有一个主干(main)和三个大树杈(hotfix、release、dev)。其中一树杈有无数的小树杈(feat),可以合并到大树杈或者剪掉(git branch -d <branch-name>)
小树杈(feat)生长完后的营养会合并(merge)到大树杈(dev),还要手动剪掉。又或者可以通过嫁接(rebase)的方式放到大树杈上。
小树杈合并时有可能会冲突。我们需要先手动修剪(修改冲突内容),然后放到暂存区(git add .),再提交(git commit -m "fix")
image
image


k8s部分

标签:容器,git,文件系统,联合,树杈,jenkins,docker,Docker
From: https://www.cnblogs.com/mugetsukun/p/18088080

相关文章

  • linux 安装git服务
    一、安装git服务在Linux上安装git目前主要有两种方式,一种是直接用yum命令进行安装,这种安装方便简单,但是版本无法控制,就是yum源码中的版本可能比较旧。另一种事自己下载源码进行安装。第一种方式比较简单:通过yum命令安装git:yuminstallgit-y查看是否安装成功:rpm-qa......
  • Git命令使用
    命令行1.初始化仓库命令gitinit2.注册用户--global代表全局--system代表系统层gitconfig--user.name"Saxon"(添加用户名)[email protected](添加邮箱)gitconfig--credential.helperstore(记住注册内容)3.查看状态gitstatus4.添加文件g......
  • Windows10基于docker的mysql8的备份和拷贝文件到宿主机
    Windows10基于docker的mysql8的备份和拷贝文件到宿主机##环境说明操作系统:windows10docker:v4.25.0mysql:8##进入容器dockerexec-itmysql8/bin/bash ##备份特定数据库mysqldump-uroot-pMm123456jeesite>jeesite.sql ##退出容器 exit ##将备份......
  • Docker in Docker原理与实战
    一、DockerinDocker是什么?DockerinDocker(DinD)。简单来说,就像是“盒子里装盒子”,也就是在一个Docker容器里面跑起了另一个Docker服务。想象一下,你有一个神奇的集装箱(第一个Docker容器),而在这个集装箱里,还塞进去了一个小一号的集装箱(第二个Docker守护进程)。这样,你就可以......
  • 一步到位!快速精通Git工作流及实战技巧详解
    Git是一个分布式版本控制系统。1、git的应用场景1.备份小明负责的模块就要完成了,就在即将release之前的一瞬间,电脑突然蓝屏。硬盘光荣牺牲!几个月来的努力付之东流。场景二:代码还原这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的......
  • Tensorflow 图像搜索制作的docker镜像
    Dockerfile1#基于官方Python3.10镜像2FROMpython:3.1034#设置工作目录5WORKDIR/app67#将当前目录下的所有文件拷贝到容器的/app目录下8COPY./app910#安装依赖包11RUNpipinstall--no-cache-dirFlaskPillowtensorflowannoymat......
  • ARM架构银河麒麟使用笔记-下载docker软件包及所有依赖包并在离线环境下安装
    ARM架构银河麒麟使用笔记-下载docker软件包及所有依赖包并在离线环境下安装arm银河麒麟aptdocker目的是在arm架构的银河麒麟操作系统V10中安装docker。一、给虚拟机创建快照1.创建qemu-imgsnapshot-cEmptyKylinrootfs.qcow22.查看qemu-imgsnapshot-lrootfs......
  • Ubuntu安装docker
    官网卸载系统docker,防止冲突forpkgindocker.iodocker-docdocker-composedocker-compose-v2podman-dockercontainerdrunc;dosudoapt-getremove$pkg;done卸载请参照docker卸载设置docker的apt仓库sudoapt-getupdatesudoapt-getinstallca-certificat......
  • docker-compose 部署OWASP Juice Shop + CTFd
    项目介绍1.OWASPJuiceShop原文OWASPJuiceShopisprobablythemostmodernandsophisticatedinsecurewebapplication!Itcanbeusedinsecuritytrainings,awarenessdemos,CTFsandasaguineapigforsecuritytools!JuiceShopencompassesvulnerabili......
  • 使用Sparse Checkout 排除跟踪Git仓库中指定的目录或文件
    应用场景在一个大工程里包含由不同部门开发的模块时,项目的Git仓库肯定很大,造成每次Git操作相对比较耗时。因为开发人员一般只关心他们部门的模块的代码,所以完全可以排除一些他完全不需要用到的目录。这时候就可以使用Git的SparseCheckout。操作步骤1、若未拉取仓库代码时mk......