2.安装docker

news2024/12/24 15:47:15

目录

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.coloradmin.cn/o/1262787.html

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

相关文章

在柯桥西班牙语论文写作,连接词只会用porquepero?西语连接词大全来啦~

Adicin -agregan nuevos datos al desarrollo de una idea o introduce otro aspecto del tema. 为观点的论述增添新的信息,或介绍主题的另一个方面。 1 Lista de conectores 连接词列表 Adems. As mismo. Hay que mencionar, adems. Habra que decir tambin. Mas …

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

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

分层理解Java字符串常量池

Java是一门计算机编程语言,但我们脑海中所理解的Java不仅仅是一门语言。它还包括Java虚拟机(JVM)的一系列规定,及具体Java产品(如Hotspot)的实现原理。 不管我们日常在Java中用到的任何一种语法&#xff0…

python如何抓取携程酒店的价格,让工作更简单点

有时候老板没事安排点事,为了偷懒,只能使出大招,毕竟自己不是那么老老实实干活的人,整理数据这类累和繁琐的活,我怎么能轻易动,好在gpt可以帮我来实现,有人可能会说,这么点内容你还不…

在线陪诊系统: 医疗科技的崭新前沿

在医学科技的快速发展中,在线陪诊系统正成为医疗服务领域的创新力量。通过结合互联网和先进的远程技术,这一系统为患者和医生提供了更为便捷、高效的医疗体验。本文将深入探讨在线陪诊系统的技术背后的核心代码和实现原理。 技术背后的关键代码 在线陪…

面试题:说一下MyBatis动态代理原理?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.MyBatis简介2.使用步骤2.1、引入依赖2.2、配置文件2.3、接口定义2.4、加载执行 3.原理解析 1.MyBatis简介 MyBatis是一个ORM工具,封装了JDBC的操作&a…

k8s中pod的hostport端口突然无法访问故障处理

故障背景: 租户告知生产环境的sftp突然无法访问了,登录环境查看sftp服务运行都是正常的,访问sftp的hostport端口确实不通。 故障处理过程 既然访问不通那就先给服务做个全面检查,看看哪里出了问题,看下sftp日志&#…

Java学习路线第二篇:Java Web

这篇则分享Java学习路线第二part:Java Web 恭喜你已经成功追到第二章节啦,要被自己的努力感动到了吧,而这节将承担起学完Java web 的使命,本使命为单向契约,你可选择YES或者选择YES。 HTMLCSSJavaScript(JS) 【动…

Linux—进程状态、僵尸进程、孤独进程、优先级

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、进程状态二、僵尸进程、孤儿进程1、Z(zombie)-僵尸进程2、僵尸进程危害3、孤儿进程 三、进…

DHCP协议及实验omnipeek抓包工具分析 IPv4协议

一 抓包命令 adb shell tcpdump -i wlan0 -w /data/tcpdump.pcap 抓包后截图如下 二 DHCP是什么 2.1 DHCP定义 DHCP( Dynamic Host Configuration Protocol, 动态主机配置协议)定义: 存在于应用层(OSI) 前身是BOOTP(Bootstrap Protocol)协议 是一个使用UDP(User …

【沁恒蓝牙mesh】程序烧录 硬件电路设计与原理

本文基于沁恒CH58X 单片机的程序烧录硬件电路设计原理解释 【沁恒蓝牙mesh】目录 1. 程序烧录方式2. USB 烧录过程描述3. 硬件设计原理图3.1 官方开发板原理图3.2 自开发设计原理图 4. 电容在上电瞬间为什么相当于短路? 📋 个人简介 💖 作者简…

关于AM5系列微机保护装置在某产业园配电工程中的应用-安科瑞 蒋静

1 摘要 目前,微机保护装置广泛应用于电力系统中,该类装置能够合理监测电力系统的运行状况,并实时记录电力系统出现故障的位置及性质,从而为故障的快速处理提供合理的参考信息。本文介绍的AM5系列微机保护装置,可以针对…

DC电源模块的散热措施

BOSHIDA DC电源模块的散热措施 DC电源模块的散热措施可以分为以下几种: 1. 增加散热器:在DC电源模块的电路板上增加散热片或散热器,通过增加散热面积和散热能力来提高散热效果。 2. 增加风扇:在散热器的基础上增加风扇&#xff…

竞赛选题 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正

文章目录 0 简介1 思路简介1.1 车牌定位1.2 畸变校正 2 代码实现2.1 车牌定位2.1.1 通过颜色特征选定可疑区域2.1.2 寻找车牌外围轮廓2.1.3 车牌区域定位 2.2 畸变校正2.2.1 畸变后车牌顶点定位2.2.2 校正 7 最后 0 简介 🔥 优质竞赛项目系列,今天要分享…

修改分区序列号的简单方法!

“我使用的是自己组装的电脑,安装了正版Win10操作系统。但奇怪的是,这台电脑看起来完全正常,但是每次启动时的分区序列号却总是不同。我现在要使用的软件需要依赖分区序列号进行注册,所以这个问题不解决我就没法使用软件。系统是正…

提升企业网络安全的得力助手——EventLog Analyzer网络日志管理

在当今数字化时代,企业的网络安全问题变得尤为重要。为了更好地应对日益增多的威胁和安全漏洞,企业需要一种高效的网络日志管理工具,EventLog Analyzer便是其中一款卓越的解决方案。 EventLog Analyzer EventLog Analyzer是一款综合性的网络…

户外园林气象环境RTU采集主机监测的具体使用

户外园林是人们休闲、娱乐和放松心情的场所,良好的气象环境对于提供舒适的户外体验至关重要。为了有效监测和管理园林的气象环境,户外园林气象环境RTU(Remote Terminal Unit)采集主机应运而生。本文将详细介绍户外园林气象环境RTU…

ELK高级搜索,深度详解ElasticStack技术栈-上篇

前言 1、黑马视频地址:java中级教程-ELK高级搜索,深度详解ElasticStack技术栈 2、本内容仅用于个人学习笔记,如有侵扰,联系删除 1. 课程简介 1.1 课程内容 ELK是包含但不限于Elasticsearch(简称es)、Lo…

【领域驱动设计 学习目标及大纲】从CRUD到架构设计

从2018年至今,已工作了5年有余,回望这5年的工作历程,虽然一直在学习、一直在积累,但其实都在术的层面上停留,也就是具体的技术点。这5年多的时间里其实也不是没有窥道的想法: 一次是2018年刚工作的时候&am…

软件提示找不到“vcruntime140.dll丢失的五个解决方法”(有效方法)

“vcruntime140.dll丢失的五个解决方法”。在我们的日常生活和工作中,有时候会遇到一些电脑问题,而vcruntime140.dll丢失就是其中之一。那么,什么是vcruntime140.dll文件呢?它为什么会丢失?又该如何解决这个问题呢&…