docker引擎

目录

一、Docker引擎发展历程

二、docker引擎架构

三、docker引擎分类

四、docker引擎安装

4.1安装条件

4.2 使用rpm存储库安装

4.2.1设置存储库

4.2.2安装docker引擎

4.2.3启动docker,并设置docker开机自启动

五、卸载docker引擎

5.1.卸载 Docker 引擎、CLI、containerd 和 Docker Compose 包:

5..2主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,需要执行以下操作:


一、Docker引擎发展历程

首发架构由两大核心组件构成:LXC(Linux Container)与Docker Daemon。

首发架构的两大问题:

1.严重依赖于LXC,出现了“卡脖子”问题,及无法实现Docker跨平台。所以在0.9版本使用了 Docker自研的Libcontainer替换了LXC。

2.Docker Daemon 中的“大而全”使得版本更新难、性能出现瓶颈、不符合软件哲学(由 Unix 团队提出),关键是,其还存在着“中心化”问题。所以在1.1版本中其实现了 OCI规范,将容器运行时Runc从Docker Daemon 中剥离了出来。

二、docker引擎架构

docker引擎是用来运行和管理容器的核心软件,其架构由五个部分组件组成:docker client 、dockerd、Containerd、Runc、Shim

Docker Client:用户提交 Docker 命令。
Dockerd: 负责 REST API、处理镜像相关命令、网络、容器编排等。
Containerd:负责容器生命周期管理(负责处理容器相关的命令),但不负责创建容器。当docker run 命令到来时会fork出Runc与Shim两个进程。
Runc:负责创建容器进程,容器创建并启动完毕后,Runc将容器进程交付给Shim进程管理,然后自己退出。
Shim: 负责将容器与Docker Daemon进行解耦。

三、docker引擎分类

docker分为三大版本(Moby、CE、EE),俩个小版本(Edge、Statble)

四、docker引擎安装

4.1安装条件

要安装docker引擎,需要以下版本之一的维护版本Centos版本:

  • CentOS 7
  • CentOS 8 (stream)
  • CentOS 9 (stream)

4.2 使用rpm存储库安装

在新主机上首次安装 Docker 引擎之前,需要设置 Docker 存储库。之后,安装和更新存储库中的 Docker。

4.2.1设置存储库

安装软件包(提供实用程序)并设置存储库。yum-utils  yum-config-manager

使用阿里国内源安装docker

[root@localhost /]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
4.2.2安装docker引擎
[root@localhost /]# yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.2.3启动docker,并设置docker开机自启动
[root@localhost /]# systemctl start docker
[root@localhost /]# systemctl enable docker

通过运行镜像来验证docker引擎是否安装成功。hello-world

[root@localhost /]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:6352af1ab4ba4b138648f8ee88e63331aae519946d3b67dae50c313c6fc8200f
Status: Downloaded newer image for hello-world:latestHello 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/

成功安装并且启动了docker引擎。

五、卸载docker引擎

5.1.卸载 Docker 引擎、CLI、containerd 和 Docker Compose 包:

[root@localhost /]# yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin 

5..2主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,需要执行以下操作:

[root@localhost /]# rm -rf /var/lib/docker
[root@localhost /]# rm -fr /var/lib/containerd

必须手动删除任何已编辑的配置文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用vscode创建Node.js服务并结合内网穿透实现远程访问本地服务

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

使用API有效率地管理Dynadot域名,使用API设置域名隐私保护

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

成员函数版本实现算术运算符的重载 全局函数版本实现算术运算符的重载

#include <iostream>using namespace std; class Per { private:friend const Per operator-(const Per &L,const Per &R);int a;int b; public:Per(){cout<<"无参构造"<<endl;}Per(int a,int b):a(a),b(b){cout<<"有参构造&qu…

26-1 SQL 注入攻击 - delete注入

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、注入原理: 对于后台来说,delete操作通常是将对应的id传递到后台,然后后台会删除该id对应的数据。 如果后台没有对接收到的 id 参数进行充分的验证和过滤,恶意用户可能会…

linux系统对于docker容器的监控

容器监控 容器监控原生命令操作问题 容器监控三剑客CAdvisorInfluxDBGranfana compose编排监控工具新建目录创建CIG.yml文件启动docker-compose测试 容器监控 CAdvisorInfluxDBGranfana 原生命令 操作 docker stats问题 通过docker stats命令可以很方便的看到当前宿主机上所…

CSS选择器-一文搞懂CSS选择器

CSS选择器 一、简单选择器和权值1. 通配符选择器 &#xff08;权值 - 0&#xff09;2. 标签选择器 &#xff08;权值 - 1&#xff09;3. 类选择器和伪类 &#xff08;权值 - 10 &#xff09;4. ID选择器 &#xff08;权值 - 100&#xff09;-精确制导行内样式 - 它不是选择器-权…

Cassandra 集群安装部署

文章目录 一、概述1.官方文档2. 克隆服务器3.安装说明4.安装准备4.1.安装 JDK 114.2.安装 Python4.3.下载文件 二、安装部署1.配置 Cassandra2.启动 Cassandra3.关闭Cassandra4.查看状态5.客户端连接服务器6.服务运行脚本 开源中间件 # Cassandrahttps://iothub.org.cn/docs/m…

3.2 Beautiful Soup 的使用

目录 一、Beautiful Soup 的简介 二、解析器 三、基本使用 四、节点选择器 1 选择元素 2 获取名称、属性、文本内容 五、方法选择器 1 find_all 传入 name 节点名 传入 attrs 属性 传入 text 2 find 六、CSS 选择器 1 实例 2 获取属性 3 获取文本 七、结语 一…

从政府工作报告探计算机行业发展(在医疗健康领域)

从政府工作报告探计算机行业发展 政府工作报告作为政府工作的全面总结和未来规划&#xff0c;不仅反映了国家整体的发展态势&#xff0c;也为各行各业提供了发展的指引和参考。随着信息技术的快速发展&#xff0c;计算机行业已经成为推动经济社会发展的重要引擎之一。因此&…

山景BP1048 烧录器烧写

1.首先确保硬件连接没问题&#xff0c;烧写器不能亮红灯&#xff0c;亮红灯说明硬件没正确连接。硬件连接如下&#xff1a; 2.点击Flash Burner 3.编程目标闪存选择SDK包自带的烧写驱动器&#xff0c;闪存映像档选择编译好的bin文件。 4.点击刻录 5.看见有进度条在跑&#x…

计算机网络——计算机网络体系结构

计算机网络——计算机网络体系结构 计算机网络体系结构的由来正确认识分层协议与层次划分著名的几个体系结构OSI体系结构TCP/IP体系结构5层体系结构 我们今天来了解一下计算机网络体系结构&#xff1a; 计算机网络体系结构的由来 俗话说&#xff0c;“没有规矩&#xff0c;不…

深入理解与应用Keepalive机制

目录 引言 一、VRRP协议 &#xff08;一&#xff09;VRRP概述 1.诞生背景 2.基本理论 &#xff08;二&#xff09;VRRP工作原理 &#xff08;三&#xff09;VRRP相关术语 二、keepalive基本理论 &#xff08;一&#xff09;基本性能 &#xff08;二&#xff09;实现原…

FreeRTOS操作系统学习——中断管理

中断管理介绍 嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测&#xff0c;中断服务例程(ISR)中的处理量应当越短越好。ISR是在内核中被调用的&#xff0c; ISR执行过程中&#xff0c;用户的任务…

解决代理IP无法连接特定网站的问题

目录 一、问题原因分析 二、解决方案 三、案例与代码示例 四、总结 在网络爬虫、数据抓取、或者是网络加速等场景下&#xff0c;使用代理IP是一个常见的做法。然而&#xff0c;在实际使用过程中&#xff0c;有时会遇到代理IP无法连接特定网站的问题&#xff0c;这不仅影响了…

计讯物联智慧合杆在智慧城市中的应用

随着智慧城市数字化的建设与发展&#xff0c;5G智慧合杆不仅成为智慧城市感知网络体系的重要载体&#xff0c;也是发展智慧城市IoT的重要基础。在今年两会中&#xff0c;全国政协委员提出&#xff0c;探索“智慧灯杆5G基站”“多杆合一”试点示范&#xff0c;实现社会资源共享。…

微信小程序问题定位——sourcemap文件

使用sourceMap在微信小程序中进行线上问题定位&#xff0c;主要可以通过以下步骤实现&#xff1a; 下载微信开发者工具首先&#xff0c;确保已经安装了微信开发者工具&#xff0c;这是进行小程序开发和调试的基础。登录微信公众平台并下载sourceMap文件&#xff1a;登录微信小…

Windows系统下载安装Emby结合内网穿透实现公网访问本地影音网站

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力应用场景之一&…

Java异常分类(三)

ClassCastException异常&#xff1a; class Animal{} class Dog extends Animal{} class Cat extends Animal{} public class Test5{public static void main(String[] args){Animal a new Dog();Cat c (Cat)a;} } 执行结果如图所示&#xff1a; 解决 ClassCastException 的…

部署docker仓库harbor

1、下载包 1、包已上传有两个harbor.v2.6.0.tar与harbor.tar 2、harbor.tar解压后会生成harbor目录&#xff0c;将harbor.v2.6.0.tar移动到harbor目录下。 3、执行harbor目录下的install.sh 4、执行完后修改配置文件 2、修改配置文件 vim /root/harbor/make/ harbor.yml.tmpl …

Tomcat下载安装及纯手动发布一个应用

文章目录 javaWeb介绍一. 下载tomcat二、部署Web项目准备三. 验证tomcat配置是否成功四、安装包中各个文件的解释与用途五、纯手动部署web项目 javaWeb介绍 1、什么是JavaWeb&#xff1f; JavaWeb是一种使用Java语言编写的基于Web的应用程序开发技术。它是通过Java的Web开发框…