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

简易做网站的软件/企业网站推广注意事项

简易做网站的软件,企业网站推广注意事项,ngo网页模板下载,自己的网站怎么做关键词华子目录 Docker引擎架构docker引擎架构示意图执行过程示例 RHEL9上安装Docker1.系统要求2.安装yum-utils工具包3.yum安装docker-ce4.配置docker镜像加速docker拉取镜像的过程配置阿里云镜像仓库重新加载守护进程重启Docker服务 5.拉取并运行hello-world镜像6.测试是否安装成功…

华子目录

  • Docker引擎架构
    • docker引擎架构示意图
    • 执行过程示例
  • RHEL9上安装Docker
    • 1.系统要求
    • 2.安装yum-utils工具包
    • 3.yum安装docker-ce
    • 4.配置docker镜像加速
      • ==docker拉取镜像的过程==
      • 配置阿里云镜像仓库
      • 重新加载守护进程
      • 重启Docker服务
    • 5.拉取并运行hello-world镜像
    • 6.测试是否安装成功
  • 查看docker版本
  • 查看正在运行的镜像

Docker引擎架构

首先在部署Docker环境前,得先了解Docker的引擎架构

  • docker引擎是用来运行和管理容器的核心软件,通常将其代指为docker或者docker平台。
  • docker引擎由如下主要的4大构建组成docker client(docker客户端)、docker daemon(docker守护进程,也是docker服务端)、containerd以及runc,共同负责容器的创建和运行。

docker引擎架构示意图

在这里插入图片描述

  • docker daemon实现了docker api,对容器的操作由containerd完成,containerd需要指挥与OCI相兼容的容器运行时来创建容器,默认情况下,docker使用runc来作为其默认的容器运行时,containerd调用runc,并确保docker镜像以OCI bundle的格式传给runc。其中:

    • api:应用程序编程接口
    • OCI(开放容器计划)定义了两个容器相关的规范:
      • 镜像规范
      • 容器运行时规范
  • runc是OCI容器运行时标准的参考实现,runc实际上是一个轻量级的、针对libcontainer进行了包装的命令行交互工具。runc生来只有一个作用,创建容器。

    • 关于libcontainer:LXC提供了对诸如命名空间(Namespace)和控制组(CGroup)等基础工具的操作能力,是基于linux内核的容器化虚拟技术,docker公司开发了名为libcontainer的自研工具,用于替代LXC,libcontainer的目的是成为与平台无关的工具,可基于不同内核为Docker上层提供必要的容器交互功能。
  • containerd 的主要任务是容器的生命周期的管理,containerd在linux和windows中以daemon的方式运行,在docker引擎技术栈中,containerd位于daemon和runc所在的OCI层之间。

  • shim是实现无daemon的容器不可获取的工具,前面提到containerd指挥runc来创建容器,事实上,每次创建容器时都会fork(分叉出)一个新的runc实例,不过,一旦容器创建完毕,对应的runc进程就会退出,因此即使运行上百个容器,也无须保持上百个的runc处于运行状态一旦容器进程的父进程runc退出相关联的containerd-shim进程就会成为容器的父进程,作为容器的父进程,shim的部分职责如下:

    • 保持所有的stdin(标准输入)和stdout(标准输出)流是开启状态,从而当daemon(docker服务端)重启的时候,容器不会因为管道的关闭而终止。
    • 将容器的退出状态反馈给daemon。

执行过程示例

[root@server ~]# docker container run --name ctrl -it alpine:latest sh
  • 当docker命令行执行上述命令时,docker客户端会将其转换为合适的api格式,并发送到正确的API端点API是在daemon种实现的一旦daemon接受了创建新容器的命令它会向containerd发出调用(daemon使用一种CRUD风格的API,通过gRPC与containerd进行通信)。containerd不负责创建容器会将docker镜像转换为OCI bundle然后再让runc基于此创建一个新的容器然后runc与操作系统内核接口通信基于所有必要的工具(Namespace、CGroup等)来创建容器容器进程作为runc的子进程进行启动,启动完毕后,runc将会退出。整个过程如下图:
  • 在这里插入图片描述

RHEL9上安装Docker

这里我们通过yum源来安装Docker

  • Docker引擎目前分为两个版本社区版本( Community Edition, CE)和企业版本(Enterprise Edition, EE社区版本包括大部分的核心功能企业版本则通过付费形式提供认证支持、镜像管理、容器托管、安全扫描等高级服务, 通常情况下,用户使用社区版本可以满足大部分需求;若有更苛刻的需求,可以购买企业版本服务

1.系统要求

系统基础环境

  • 64位CPU
  • Linux内核(Linux kernel):5.14.0-162.6.1.el9_1.x86_64

查询自己服务器的环境

[root@server ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.1 (Plow)

内核版本

[root@server ~]# uname -r
5.14.0-162.6.1.el9_1.x86_64

IP地址

[root@server ~]# hostname -I  #列出主机的所有IP地址
192.168.80.129[root@server ~]# hostname -i  #列出主机的IP地址
fe80::20c:29ff:fe9e:1d25%ens160 192.168.80.129

2.安装yum-utils工具包

是一个提供yum-config-manager命令的工具包

[root@server ~]# yum install yum-utils -y

在这里插入图片描述
在阿里云镜像站中找的这个docker-ce.repo包,鼠标右击复制链接

[root@server ~]# yum-config-manager  --add-repo   https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo
[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# ll
总用量 12
-rw-r--r--  1 root root 2045  323 16:35 docker-ce.repo    #就出现了这个文件
-rw-r--r--. 1 root root  358 1111 19:28 redhat.repo
-rw-r--r--. 1 root root  223 1111 19:25 RHELserver.repo

3.yum安装docker-ce

[root@server ~]# yum install docker-ce -y

4.配置docker镜像加速

多种加速方式:

  • docker cn
  • 阿里云加速器
  • 中国科技大学

docker拉取镜像的过程

Docker拉取镜像的过程涉及多个步骤,以下是其详细的流程:

1.配置国内Docker的下载源:

  • 进入文件daemon.json,如果该文件不存在,则新建。通常这个文件位于/etc/docker/目录下。
    编辑daemon.json文件,添加国内镜像源的配置。例如,你可以添加阿里云的镜像源。这样配置后,Docker在拉取镜像时会优先从国内的镜像源拉取,以提高下载速度。

2.执行拉取命令:

  • 在命令行或终端中,使用docker pull命令来拉取镜像。你需要指定要拉取的镜像名称和标签(如果有的话)。例如,要拉取一个名为nginx的镜像,并指定其版本为1.12.0-alpine,你可以执行docker pull nginx:1.12.0-alpine。

3.Docker Hub查找镜像:

  • 当执行docker pull命令时,Docker首先会在本地查找是否已经存在该镜像。如果不存在,它会向Docker Hub(Docker官方的镜像中心)发送请求,查找指定的镜像。

4.下载镜像:

  • 一旦在Docker Hub上找到镜像,Docker会开始从远程仓库下载镜像的各个层。这些层是Docker镜像的组成部分,它们包含了构建和运行容器所需的所有文件、配置和依赖项。

5.验证和存储镜像:

  • 下载完成后,Docker会验证镜像的完整性和安全性。一旦验证通过,镜像会被存储在本地的Docker镜像仓库中,供以后使用。

6.使用镜像:

  • 拉取到镜像后,你就可以使用docker run命令来基于该镜像创建并运行一个容器。在运行容器时,你可以指定一些参数,如容器的名称、要映射的端口等。

通过以上步骤,你就可以成功地从Docker Hub或其他配置的镜像源拉取所需的镜像,并在本地创建和运行容器。

配置阿里云镜像仓库

配置阿里云镜像仓库地址

  • 使用容器时一般需要首先下载一个容器镜像,例如Docker Hub官方提供的MySQL、WordPress等容器镜像。然而由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。
  • 阿里云官方https://cn.aliyun.com/
  • 首先到阿里云官网进行登录。
  • 如果您还没有注册过阿里云账号,点击登录注册,然后单击注册,就会进入阿里云账号注册页面创建阿里云账号
  • 在这里插入图片描述
  • 点击放大镜进行搜索
  • 在这里插入图片描述
  • 搜索 “容器镜像服务”,然后直接点击推荐直达的 ”容器镜像服务“
  • 在这里插入图片描述
  • 点击管理控制台,进入管理控制台
  • 在这里插入图片描述
  • 首先点击镜像工具,然后可以看到镜像加速器
  • 在这里插入图片描述
  • 点击镜像加速器,就可以看到镜像加速器地址以及配置操作步骤
  • 在这里插入图片描述
[root@server ~]# vim /etc/docker/daemon.json
{"registry-mirrors": ["https://0wfqs2it.mirror.aliyuncs.com"]
}     

重新加载守护进程

[root@server ~]# systemctl daemon-reload

重启Docker服务

[root@server ~]# systemctl restart docker

5.拉取并运行hello-world镜像

[root@server ~]# docker run hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/
[root@server ~]# docker container run hello-world   #新写法Hello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

6.测试是否安装成功

[root@server ~]# docker images  #查看拉取的镜像
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    d2c94e258dcb   10 months ago   13.3kB

至此,Docker已经安装配置成功,可以在RHEL9上愉快使用啦~

查看docker版本

[root@server ~]# docker version
Client: Docker Engine - CommunityVersion:           26.0.0API version:       1.45Go version:        go1.21.8Git commit:        2ae903eBuilt:             Wed Mar 20 15:19:53 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.0.0API version:      1.45 (minimum version 1.24)Go version:       go1.21.8Git commit:       8b79278Built:            Wed Mar 20 15:18:08 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.28GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bbrunc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0
[root@server ~]#

查看正在运行的镜像

[root@server ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED         STATUS         PORTS                 NAMES
e587adbe6c82   mysql     "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   3306/tcp, 33060/tcp   mysql13

相关文章:

RHEL9部署Docker环境

华子目录 Docker引擎架构docker引擎架构示意图执行过程示例 RHEL9上安装Docker1.系统要求2.安装yum-utils工具包3.yum安装docker-ce4.配置docker镜像加速docker拉取镜像的过程配置阿里云镜像仓库重新加载守护进程重启Docker服务 5.拉取并运行hello-world镜像6.测试是否安装成功…...

Vue3.0云里雾里

目录:一篇通识Vue3.0 1.OptionsAPI(选项式)和CompositionAPI(组合式) 2.setup setup语法糖 ref响应式数据 reactive只能定义对象类型的响应式数据(用情专一) toRefs解构 计算属性computed watch侦听 WatchEffect 标签的Ref属性 组件上的ref就是获取组件实例…...

idea类已经存在却报错

一句话导读 在idea中导入新的项目,很多类都飘红报错,mvn compile可以通过,可能是因为idea缓存问题导致。 由于这个项目是由老项目复制过来后,再继续开发新的功能,很多同事导入后,都爆出新的类找不到。而编译…...

MySQL---视图

目录 一、介绍 二、语法 三、视图的更新 四、视图作用 一、介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲&#…...

策略路由-IP-Link-路由协议简介

策略路由 策略路由和路由策略的不同 1.策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包的转发路径 2.路由策略的操作对象是路由信息。路由策略的主要实现了路…...

数位五五(Java)

数位五五 题目描述 求出[a,b]区间内有多少个数数位之和为 55 的倍数。 输入格式 输入一行包含两个整数a ,b。 输出格式 输出一个整数。 样例输入输出 样例输入 10 20样例输出 2数据范围 对于 100% 的数据,保证 1≤a≤b≤1000000。 样例解释 …...

蓝桥杯G431RBT6——定时器中使用led冲突以及led与lcd冲突等一系列问题

本文是解决 同时在 定时器中点灯 与 LCD屏幕显示 冲突异常的问题 我们大家都知道,G431RBT6开发板上led与lcd是冲突的,所以在lcd.c文件中的这三个函数中 void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue) void LCD_WriteRAM_Prepare(void) void LCD_Wr…...

物联网(IoT)常用的通信协议

物联网(IoT)的通信协议是物联网设备之间交换数据的规则和标准。这些协议对于确保设备能够有效、安全地通信至关重要。下面是物联网通信协议的概述: 1. MQTT(消息队列遥测传输) 概述:MQTT是一种轻量级的发…...

关于C/C++,Linux/MacOS/Windows 平台虚拟内存分配

在 Windows 平台上面建议通过 VirtualAlloca、VirtualAllocaEx 核心库函数来分配虚拟内存,而不是通过 MMF(Memory Mapping File / 内存映射文件)技术来载入虚拟内存。 这是因为,在 Windows 平台上面,通过MMF技术分配的…...

如何在服务器上传/下载文件

从服务器下载文件到本地 打开xshell,输入:ssh root159.xxx.xxx.xx 然后需要输入密码 cd到目录文件夹下 cd /enmotech apt install zip zip -r uploads.zip uploads apt install lrzsz sz uploads.zip 从本地上传文件到服务器 如果文件是放在E盘…...

C++ 之多态虚函数原理及应用

文章目录 多态基本概念和原理虚函数的基本原理和概念虚析构和纯虚析构多重继承中的虚函数小结 多态基本概念和原理 多态的基本概念 **多态是C面向对象三大特性之一** 多态的定义 多态是一种面向对象编程概念,指同一个行为(方法)在不同的对象上…...

亮数据——让你的IP走出去,让价值返回来

亮数据——让你的IP走出去,让价值返回来 前言跨境电商最最最大的痛点——让IP走出去超级代理服务器加速网络免费的代理管理软件亮数据解决痛点亮数据优势介绍亮数据浏览器的使用示例总结 前言 当前社会信息的价值是不可想象的,今天在亮数据中看到了个【…...

spring boot-引入Redis并封装redistemplate操作工具类

文章目录 一、关于spring-redis二、springboot引入Redis及其使用案例三、封装redistemplate操作工具类 一、关于spring-redis spring-data-redis针对jedis提供了如下功能: 连接池自动管理,提供了一个高度封装的“RedisTemplate”类 针对jedis客户端中大…...

android 11 SystemUI 状态栏打开之后的界面层级关系说明之一

比如WiFi 图标的父layout为: Class Name: ButtonRelativeLayout Class Name: QSTileView Class Name: TilePage Class Name: PagedTileLayout Class Name: QSPanel Class Name: NonInterceptingScrollView Class Name: QSContainerImpl Class Name: FrameLayout Cl…...

C#___锁(lock)

lock是一种语言级别的关键字,用于实现线程同步和互斥。它提供了一种简单的方式来确保多个线程不会同时访问共享资源,从而避免竞争条件和数据不一致的问题。 作用: 1、避免并行运算中,共享数据的的读写安全问题; 2、并…...

JAVA的sort用法详解(二维数组排序,List<>排序,lambada表达式,自定义类型排序)

目录 前言&#xff1a; 一维数组降序&#xff1a; 方法1.Comparator接口&#xff1a; 代码实现&#xff1a; 方法2.Collections.reverseOrder()&#xff1a; 代码实现&#xff1a; 二维数组排序&#xff1a; 代码如下&#xff1a; List<>排序&#xff1a; 代码…...

数据分析能力模型分析与展示

具体内容&#xff1a; 专业素质 专业素质-01 数据处理 能力定义•能通过各种数据处理工具及数据处理方法&#xff0c;对内外部海量数据进行清洗和运用&#xff0c;提供统一数据标准&#xff0c;为业务分析做好数据支持工作。 L1•掌握一…...

BUG未解之谜01-指针引用之谜

在leetcode里面刷题出现的问题&#xff0c;当我在sortedArrayToBST里面给root赋予初始值NULL之后&#xff0c;问题得到解决&#xff01; 理论上root是未初始化的变量&#xff0c;然后我进入insert函数之后&#xff0c;root引用的内容也是未知值&#xff0c;因此无法给原来的二叉…...

数据库事务编程

事务是一个不可分割的数据库操作序列&#xff0c;也是数据库并发控制的基本单位&#xff0c;其执行的结果必须使数据库从一种一致性状态到另一种一致性状态。事务是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 事务的 4 大特性 ACID 原子性 Atomicit…...

专题二_滑动窗口(1)

目录 209. 长度最小的子数组 解析 题解 3. 无重复字符的最长子串 解析 题解 1004. 最大连续1的个数 III 解析 题解 209. 长度最小的子数组 209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 解析 题解 class Solution { public:int minSubArrayLen(int…...

把本地文件上传到HDFS上操作步骤

因为条件有限&#xff0c;我这里以虚拟机centos为例 实验条件&#xff1a;我在虚拟机上创建了三台节点&#xff0c;部署了hadoop&#xff0c;把笔记本上的数据上传到hdfs中 数据打包上传到虚拟机节点上 采用的是rz命令&#xff0c;可以帮我们上传数据 没有的话可以使用命令安装…...

Leo赠书活动-21期 《一篇讲明白 Hadoop 生态的三大部件》

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…...

【Redis】Redis 介绍Redis 为什么这么快?Redis数据结构Redis 和Memcache区别 ?为何Redis单线程效率也高?

目录 Redis 介绍 Redis 为什么这么快&#xff1f; Redis数据结构 Redis 和Memcache区别 &#xff1f; 为何Redis单线程效率也高&#xff1f; Redis 介绍 Redis 是一个开源&#xff08;BSD 许可&#xff09;、基于内存、支持多种数据结构的存储系统&#xff0c;可以作为数据…...

ArrayList和LinkedList有什么区别?

ArrayList和LinkedList的区别 ArrayList 和 LinkedList 是 Java 中常用的两种集合类&#xff0c;它们都实现了 List 接口&#xff0c;但在内部实现和性能上有一些区别。 内部实现&#xff1a; ArrayList 使用数组实现&#xff0c;它的元素在内存中是连续存储的&#xff0c;每…...

离线数仓(八)【DWD 层开发】

前言 1、DWD 层开发 DWD层设计要点&#xff1a; &#xff08;1&#xff09;DWD层的设计依据是维度建模理论&#xff08;主体是事务型事实表&#xff08;选择业务过程 -> 声明粒度 -> 确定维度 -> 确定事实&#xff09;&#xff0c;另外两种周期型快照事实表和累积型…...

Jenkins用户角色权限管理

Jenkins作为一款强大的自动化构建与持续集成工具&#xff0c;用户角色权限管理是其功能体系中不可或缺的一环。有效的权限管理能确保项目的安全稳定&#xff0c;避免敏感信息泄露。 1、安装插件&#xff1a;Role-based Authorization Strategy 系统管理 > 插件管理 > 可…...

简明conan教程

简明conan教程 1 关于conan1.1 来源1.2 作用 2 安装conan2.1 ubuntu2.1.1 安装python32.1.2 安装conan 2.2 Windows2.2.1 安装python32.2.2 安装conan 2.3 验证conan是否成功2.4 命令解释2.4.1 Consumer commands2.4.2 Creator commands2.4.3 Package development commands2.4.…...

LeetCode刷题--- 等差数列划分 II - 子序列

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动态规划算…...

kubectl 启用shell自动补全功能

官网手册参考&#xff1a;https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/ 系统&#xff1a;centos7 补全脚本依赖于工具 bash-completion&#xff0c; 所以要先安装它&#xff08;可以用命令 type _init_completion 检查 bash-completion 是否已安装&a…...

极简wordpress网站模板

Pithy设计师wordpress网站模板 精练简洁的wordpress模板&#xff0c;设计师或设计工作室展示型网站模板。 https://www.jianzhanpress.com/?p6329...