2.安装docker

目录

1  安装依赖

2  安装docker

3  测试


目前docker分为三类 Docker-CE(社区版),Docker-EE(企业版)和Moby。Moby是docker社区用户自己写的,所以Moby我们一般用不上

每一类的每一个版本中都有Edge与Stable版,Stable维护4个月,Edge维护1个月。目前官网中只能看到Stable版

一般我们将docker安装在Linux上,下面我在Ubuntu Jammy 22.04上安装docker-CE

  • 安装社区版与企业版在过程上差异不大,如果你想安装企业版一般得花钱,花完钱找客服问怎么安装就行了

docker一般是安装在服务器上,服务器一般没有图形化界面,所以我们也不使用图形化界面安装

这个是docker的安装文档 Install Docker Engine | Docker Docs

文档中显示了目前docker对linux的支持情况

  • x86_64/amd64 大多是台式机的架构。arm64/aarch64 大多是小型设备的架构,比如树莓派

由于我们要安装在ubuntu系统上,你可以看一眼支持情况

  • 这个其实也没用,到时输入命令能装就装,不能装再看也不迟

下面是写在老版本docker的方法,我们之前没有老的docker,所以在这就不看了

再往下看有安装的方法,我们有样学样

1  安装依赖

先 sudo apt-get update 更新一下

然后输入 sudo apt-get install ca-certificates curl gnupg 安装 ca-certificates curl gnupg 这三个东西

之后输入sudo install -m 0755 -d /etc/apt/keyrings ,这个命令的意思是 如果没有 /etc/apt/keyrings 这个目录就创建一个,并将这个目录的权限置为755

之后输入 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 获取docker的GPG密钥。docker的GPG密钥每一个机器独一份

我们详细说一下这个命令的意思,首先中间的管道符的意思是 把前一个命令的输出当作后一个命令的输入

curl你可以理解为发送请求的指令。后面的-fsSL是curl的参数,其中f表示失败也输出结果,s表示静默模式(不显示除结果外的一切东西),S表示如果可以显示速度就显示速度(与小s搭配表示只显示结果与速度),L表示限制输出到一行。参数后面就是请求的地址

gpg是专门操作gpg密钥的指令。--dearmor是gpg的参数,表示将已加密的密文解码为原始二进制数据。-o是gpg的参数,表示将解码后的二进制数据保存到指定的位置

输入 sudo chmod a+r /etc/apt/keyrings/docker.gpg 给docker.gpg这个文件 所有用户(a)的可读(r)权限

下面你要输入这些东西 

echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

这句话的作用就是在 /etc/apt/sources.list.d/docker.list 写入如下内容

我们拆解一下这条命令,斜杠是换行,这里用斜杠单纯就是写不开了,你不用斜杠也行(在一个新的机器上你没办法复制,不用复制的情况下不用写斜杠)

中间的|将命令拆成了两个部分,前面是echo,后面是tee,最后的>是tee部分的内容

先看echo,echo本身的作用是在终端上打印一些东西,这里由于后面有管道符,所以就不在终端显示了。echo从deb打印到stable,其中有变量用$表示,在上面的命令中出现了三个$符号

  • $(dpkg --print-architecture) 这个是当前系统的架构信息,比如amd,aarch等
  • $VERSION_CODENAME 是版本的系统信息,比如Ubuntu的22.04版本代号是Jammy,但VERSION_CODENAME并不是系统的环境变量,而是os-release这个文件中的

  • $(. /etc/os-release && echo "$VERSION_CODENAME") 这里用括号括起来表示括号内的东西是一个整体。一开始的.没有用,可写可不写。&&表示执行完左面的再执行右面的,相当于下图

执行 . /etc/os-release 就相当于在该终端中有 VERSION_CODENAME 这个变量了,你可以直接打印它

到上面 echo的部分就解释完了,下面是 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

tee就是把前面echo的内容写到 /etc/apt/sources.list.d/docker.list 中,最后的 > /dev/null 是禁止终端输出,我们做个对比看一下

你加不加 > /dev/null 都会将指定的内容写在指定的文件中

执行了上述内容之后,最后更新一下

2  安装docker

我们直接安装最新的,输入 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  • 这里我们安装的是ce(社区版),如果是企业版这里会有所不同

3  测试

官方给的测试是 docker run hello-world,但我们docker的本地没有hello-world这个东西,所以实际上你进入管理员身份,然后看一下docker images能不能打开就行了

目前安装docker不用再执行别的,每次重启后也不用执行别的语句就能启动 

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

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

相关文章

试写一算法将两个递增有序的带头结点的单链表合并为一个递增有序的带头结点的单链表。(利用原表结点空间)

试写一算法将两个递增有序的带头结点的单链表合并为一个递增有序的带头结点的单链表。 (利用原表结点空间) 比如现在要将下面两个链表合并,这里是要求利用原表空间 我们先创建一个辅助的链表L3,用p和q分别标记L1和L2的数据元素&…

L298N模块使用简介

接口作用ENA/ENB使用PWM调节马达转速(调速)左边一对接口接电机的正负极右边一对接口接电机正负极控制IN1,IN2 控制左边的2个接口的电压,IN1控制一个,IN2控制另外一个 IN1输入3.3V时,OUT1输出3.3v电压(可能是…

NoSQL大数据存储技术思考题及参考答案

思考题及参考答案 第1章 绪论 1. NoSQL和关系型数据库在设计目标上有何主要区别? (1)关系数据库 优势:以完善的关系代数理论作为基础,具有数据模型、完整性约束和事务的强一致性等特点,借助索引机制可以实现高效的查询&#xf…

创建Asp.net MVC项目Ajax实现视图页面数据与后端Json传值显示

简述回顾 继上篇文章创建的mvc传值这里说明一下Json传值。在mvc框架中,不可避免地会遇到前台传值到后台,前台接收后台的值的情况(前台指view,后台指controller),有时只需要从控制器中返回一个处理的结果&a…

execl点击单元格跳转

通过点击单元格跳转到其它单元格并获取单元格文本对数据进行过滤 平时我们通过超链接可以实现单元格跳转,但是并不能对数据进行过滤 此时我们可以用execl的宏来实现 实现的效果如图: 完整代码下载链接

【上海大学数字逻辑实验报告】二、组合电路(一)

一、 实验目的 熟悉TTL异或门构成逻辑电路的基本方式;熟悉组合电路的分析方法,测试组合逻辑电路的功能;掌握构造半加器和全加器的逻辑测试;学习使用可编程逻辑器件的开发工具 Quartus II设计电路。 二、 实验原理 异或门是数字…

SpringBoot+VUE3前后端分离-【支付宝支付】

1、支付宝沙箱应用申请 https://open.alipay.com/develop/sandbox/app 打开支付宝沙箱能够看到如下信息: 获取到appid; 2、获取应用私钥以及支付宝公钥 在接口加密方式选择公钥模式启用,根据操作即可获取应用公钥、应用私钥以及支付宝公钥…

服务运营 |精选:床位知多少?医院调度的几种建模方法(下)

编者按: 住院流程(Inpatient Flow)是一种通过协调和优化医院内部流程,以提高患者入院至出院期间的效率和质量的方法。住院流程通常通过医院内部信息系统和协同工作流程进行管理,以确保患者得到及时的诊断、治疗和护理…

AI PC专题:AI PC深入变革PC产业

今天分享的是AI系列深度研究报告:《AI PC专题:AI PC深入变革PC产业》。 (报告出品方:西南证券研究发展中心) 报告共计:30页 AI PC将深入变革PC产业  从出货量看,PC整体呈现周期性的特征。2…

微信小程序+中草药分类+爬虫+torch

1 介绍 本项目提供中草药数据集,使用gpu、cpu版本的torch版本进行训练,将模型部署到后端flask,最后使用微信小程序进行展示出来。 数据爬虫可以参考:http://t.csdnimg.cn/7Olus 项目中的爬虫代码,并且本项目提供相同的…

基于YOLOv5的人群计数系统设计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 基于YOLOv5的人群计数系统设计是一个非常有趣且具有挑战性的项目…

离散时间信号的分析(数字信号处理实验1-2)

前言:该系列实验均使用matlab完成,实验课程为《数字信号处理》 文章目录 一.题目二.实验目的三.实验仪器四.实验原理实验所用的matlab函数解析离散时间信号实验原理: 五.实验步骤六.实验代码及实验结果完整代码1.线性卷积代码2.循环卷积运算…

(亲测有效)解决windows11无法使用1500000波特率的问题

大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 1、问题描述 从图1可以看出串口是正常的,安装的驱动是CP210xVCPInstaller_x64.exe,但是从图2可以看出,串口拒…

HarmonyOS ArkTS 使用DevEco Studio高效开发(十三)

1、快速开始 打开IDE后,在IDE上边栏有个Help入口,里面有一个Quick Start快速开始入口,点击进去就会进入到快速开始面板。在这个面板中会有一些快速入门的实验指导和一些常用的链接。快速开始相当于一个收藏夹,把最常用的一些学习…

git stash save untracked not staged

git stash save untracked not staged 如图 解决方案: git stash save "tag标记信息" --include-untracked或者: git stash save -u "tag标记信息" git stash clear清空本地暂存代码_zhangphil的博客-CSDN博客文章浏览阅读486次。…

银河麒麟高级服务器操作系统V10安装达梦数据库管理系统DM8——单实例

一、介绍 之前介绍过供个人学习在VMware虚拟机上安装银河麒麟高级服务器操作系统V10,有兴趣的可以去看看(银河麒麟V10安装),本次主要学习在银河麒麟V10上安装达梦数据库-DM8。DM8是达梦公司在总结DM系列产品研发与应用经验的基础…

记录一次YAMLException异常

记录一次YAMLException异常 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 报错以及B…

C语言——深入理解指针(3)

目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参(本质) 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表(函数指针数组的使用&#xff…

硬盘录像机无法注册到视频监控平台EasyCVR上是什么原因?该如何解决?

视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也…

【20年扬大真题】试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)

【20年扬大真题】 试写一算法在带头结点的单链表结构上实现线性表操作LENGTH&#xff08;L&#xff09;。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdbool.h> #include<malloc.h> //单链表定义 //链表结点 int A[10] { 1,2,3,4,5,6,…