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.hqwc.cn/news/225763.html

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

相关文章

如何使用ArcGIS Pro制作一张北极俯视地图

地图的表现形式有很多种,经常我们看到的地图是以大西洋为中心的地图,还有以太平洋为中心的地图,今天要给大家介绍的地图是从北极上方俯视看的地图,这里给大家讲解一下制作方法,希望能对你有所帮助。 修改坐标系 制作…

跨境无限,智能连接 浙江省跨境电商产业联盟AIGC专委会—AIGC大会

2023年11月23日至27日,第二届全球数字贸易博览会在杭州国际博览中心举办。本届数贸会以“数字贸易 商通全球”为主题,中国与来自63个国家和地区、68个国际组织和境外商协会的各界代表约1000人出席开幕式。浙江省跨境电商产业联盟AIGC专委会受邀出席此次大…

SimpleDateFormat在多线程下的安全问题

目录 情景重现 SimpleDateFormat解析 解决方案 局部变量 加锁 使用线程变量 使用DateTimeFormatter 情景重现 SimpleDateFormat类是Java开发中的一个日期时间的转化类。它可以满足绝大多数的开发场景,但是在高并发下会出现并发问题。接下来查看下文中的案例。…

Unity中Shader的BRDF解析(一)

文章目录 前言现在我们主要来看Standard的 漫反射 和 镜面反射一、PBS的核心计算BRDF二、Standard的镜面高光颜色三、具体的BRDF计算对于BRDF的具体计算,在下篇文章中,继续解析 四、最终代码.cginc文件Shader文件 前言 在上篇文章中,我们解析…

当消费增值模式遇上Dapp:擦出创新商业的火花

随着区块链技术和智能合约的不断发展,去中心化应用(Dapp)逐渐成为一种创新的商业模式。当消费增值模式与Dapp相遇,它们之间擦出了怎样的火花呢? 一、Dapp与消费增值模式的结合 Dapp是一种基于区块链技术和智能合约的去…

在Rust中处理命令行参数和环境变量

1.摘要 Rust的命令行和环境变量处理在标准库中提供了一整套实现方法, 在本文中除了探索标准库的使用方法之外, 也在不断适应Rust独有的语法特点。在本文中, 我们通过标准库函数的返回值熟悉了迭代器的使用方法, 操作迭代器精确控制保存的内容, 包括字符串和键值对的使用方法。…

Mysql快速查找用逗号分割的列中含有某个字符的行:FIND_IN_SET

看标题比较绕口,但是我举一个例子你就清楚了 这是一个查询:我现在想要的是attr_val中含有黑色属性的行: 你用模糊匹配可以,用REGEXP也行,下面介绍一种mysql自带的函数:FIND_IN_SET。它的用法是&#xff1a…

每日汇评:原油价格正在等待欧佩克对2024年供应削减配额的决定

OPEC会议推迟至周四,个别配额和供应削减仍然是会议的核心议题; 原油价格在欧佩克会议前持平,但是否有意外的看涨取决于欧佩克的减产; 布伦特原油价格在关键的82美元和200均线的交叉点被明显拒绝后走低; 上周三&#xf…

JOSEF 漏电继电器JHOK-ZBL1 DH-50L 系统1140V 电源AC220V

系列型号: JHOK-ZBL多档切换式漏电(剩余)继电器 JHOK-ZBL1多档切换式漏电(剩余)继电器 JHOK-ZBL2多档切换式漏电(剩余)继电器 JHOK-ZBM多档切换式漏电(剩余)继电器 …

【傻瓜级JS-DLL-WINCC-PLC交互】3.JS-DLL进行交互

思路 JS-DLL-WINCC-PLC之间进行交互,思路,先用Visual Studio创建一个C#的DLL控件,然后这个控件里面嵌入浏览器组件,实现JS与DLL通信,然后DLL放入到WINCC里面的图形编辑器中,实现DLL与WINCC的通信。然后PLC与…

玻色量子事件活动

2023年 2023.7 玻色量子携最新相干光量子计算机惊艳亮相2023数字经济大会 2023.6 打造“新型计算数据中心”!玻色量子与科华数据(002335.SZ)携手共创 2023.6 玻色量子“天工量子大脑”亮相中关村论坛,大放异彩 2023.5 100量…

机器学习实战第3天:手写数字识别

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 ​ 文章目录 一、任务描述 二、数据集描述 三、主要代码 (1)主要代码库的说明与导入方法 (2)数据预…