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

Docker 安装全攻略:从入门到上手

Docker 安装全攻略:从入门到上手

在当今的软件开发与部署领域,Docker 已经成为了一项不可或缺的关键技术。它能够将应用程序及其依赖项打包成轻量级、可移植的容器,极大地简化了开发、测试和部署的流程。本文将详细讲解在不同操作系统下 Docker 的安装流程,帮助你快速开启容器化之旅。

在这里插入图片描述

一、Linux 系统下的 Docker 安装

(一)Ubuntu 系统

  1. 更新系统软件包列表
    • 打开终端,输入以下命令:
      sudo apt-get update
      
    • 这一步会获取最新的软件包信息,确保后续安装过程中使用的是最新的资源。
  2. 安装必要的依赖包
    • 运行命令:
      sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
      
    • 这些依赖包是安装 Docker 所必需的基础组件,例如 apt-transport-https 用于支持通过 HTTPS 协议获取软件包,ca-certificates 用于验证软件包来源的证书合法性等。
  3. 添加 Docker 的官方 GPG 密钥
    • 执行:
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      
    • 这一步是为了验证下载的 Docker 软件包的完整性和真实性,确保安装的是官方正版且未被篡改的软件。
  4. 设置 Docker 的稳定版软件源
    • 对于不同的 Ubuntu 版本,添加软件源的命令略有不同。例如对于 Ubuntu 20.04(Focal Fossa),输入:
      echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • 这将告诉系统从 Docker 官方的稳定版软件源获取安装包。
  5. 再次更新软件包列表并安装 Docker
    • 运行:
      sudo apt-get update
      sudo apt-get install docker-ce docker-ce-cli containerd.io
      
    • 安装完成后,可以通过 sudo docker run hello-world 命令来验证 Docker 是否安装成功。如果看到输出 Hello from Docker! 以及相关的 Docker 信息,则说明安装成功。

(二)CentOS 系统

  1. 卸载旧版本(如果存在)
    • 先检查是否已安装旧版本的 Docker:
      sudo yum list installed | grep docker
      
    • 如果有,使用以下命令卸载:
      sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
      
  2. 安装依赖包
    • 执行:
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
      
    • 这些依赖包用于支持 Docker 的存储驱动等功能,例如 device-mapper-persistent-datalvm2 与 Docker 的存储配置相关。
  3. 设置 Docker 软件源
    • 运行:
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      
    • 这将添加 Docker 的官方 CentOS 软件源到系统中。
  4. 安装 Docker
    • 输入:
      sudo yum install docker-ce docker-ce-cli containerd.io
      
    • 安装完成后,启动 Docker 服务:
      sudo systemctl start docker
      sudo systemctl enable docker
      
    • 同样可以使用 sudo docker run hello-world 来验证安装是否成功。

二、Windows 系统下的 Docker 安装

  1. 系统要求检查
    • 确保 Windows 10 专业版、企业版或教育版,并且已启用 Hyper-V 功能。如果是 Windows 10 家庭版,需要先升级到专业版或使用 Docker Desktop for Windows 的 WSL 2 后端(需要安装 Windows Subsystem for Linux 2)。
  2. 下载 Docker Desktop for Windows
    • 访问 Docker 官方网站(https://www.docker.com/products/docker-desktop),点击下载适合 Windows 系统的安装包。
  3. 安装过程
    • 运行下载的安装程序,按照提示进行安装。在安装过程中,会自动安装所需的组件,包括 Docker 引擎、Docker CLI 等。
    • 安装完成后,Docker 会自动启动,并且在系统托盘中显示 Docker 图标。可以在终端(PowerShell 或 Command Prompt)中输入 docker version 来检查 Docker 是否安装成功以及查看相关版本信息。

三、Mac 系统下的 Docker 安装

  1. 系统要求确认
    • Mac 系统需要是 macOS 10.14 Mojave 或更高版本。
  2. 下载 Docker Desktop for Mac
    • 从 Docker 官方网站下载 Docker Desktop for Mac 的安装包。
  3. 安装操作
    • 打开下载的安装文件,将 Docker 图标拖放到 Applications 文件夹中进行安装。
    • 安装完成后,启动 Docker 应用程序。它会在菜单栏中显示一个 Docker 图标。在终端中输入 docker version 可以验证安装情况,若成功则会显示 Docker 的版本信息以及相关组件的详细内容。

相关文章:

Docker 安装全攻略:从入门到上手

Docker 安装全攻略:从入门到上手 在当今的软件开发与部署领域,Docker 已经成为了一项不可或缺的关键技术。它能够将应用程序及其依赖项打包成轻量级、可移植的容器,极大地简化了开发、测试和部署的流程。本文将详细讲解在不同操作系统下 Doc…...

螺杆支撑座在运用中会出现哪些问题?

螺杆支撑座是一种用于支撑滚珠螺杆的零件,通常用于机床、数控机床、自动化生产线等高精度机械设备中。在运用中可能会出现多种问题,这些问题源于多个方面,以下是对可能出现的问题简单了解下: 1、安装不当:安装过程中没…...

Java与SQL Server数据库连接的实践与要点

本文还有配套的精品资源,点击获取 简介:Java和SQL Server数据库交互是企业级应用开发中的重要环节。本文详细探讨了使用Java通过JDBC连接到SQL Server数据库的过程,包括加载驱动、建立连接、执行SQL语句、处理异常、资源管理、事务处理和连…...

客户案例:基于慧集通的致远OA与海康威视智能会议设备集成方案

一、引言 本案例原型公司是我国生产纺织原料的大型上市企业,主导产品为再生纤维素长丝、氨纶等系列产品。公司产品不仅得到国内客户认可,还远销海外,合作伙伴遍布德国、意大利、日本、韩国、土耳其、印度等30多个国家和地区。 二、简介 &am…...

嵌入式驱动开发详解7(并发、竞争、中断)

文章目录 前言并发和竞争原子操作自旋锁信号量互斥体 中断中断简介中断API上半部和下半部设备树分析中断号获取源码 后续参考文献 前言 中断会引起线程的切换,并发和竞争也是对线程切换的一种灵活保护和处理,因此这里将中断和并发与竞争放在一块讲解说明…...

@repository注解

Repository 是 Spring 框架中的一个注解,主要用于标记类作为数据访问层(Data Access Layer, DAL)的组件。在分层架构中,Repository 注解标识的类负责与数据库或其他持久化存储进行交互,如执行查询、保存或更新数据等操…...

Linux top指令

top指令概述 top 是 Linux 系统中用于实时监控系统性能和进程信息的命令,功能强大且灵活。它提供了系统资源的动态视图,包括 CPU、内存、运行中的进程等。 这个指令可以说是Linux中最基本的工具了,用来监视系统的实时运行状态,类…...

Anaconda 安装与虚拟环境创建完整指南

Anaconda 安装与虚拟环境创建完整指南 Anaconda 是目前最流行的 Python 和数据科学工具集之一,它不仅可以轻松管理 Python 包,还能提供强大的虚拟环境功能,避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者&#xf…...

基于自然语言处理(NLP)的智能客服系统

基于自然语言处理(NLP)的智能客服系统是现代客户服务领域的一项重要技术,它通过模拟人类对话的方式,为用户提供及时、准确和个性化的服务。以下是关于基于NLP的智能客服系统的一些关键要素和功能: 1. 自然语言理解&am…...

C语言期末复习题(PTA)

去字符串中的重复字符与空格 dele函数的功能:对给定的字符串,去掉重复的字符与字符串中的空格后,按照字符ASCII码顺序从小到大排序后输出。 输入样例: abcd efg abc fH 3 2 1 输出样例: 123Habcdefg 测试程序样例&am…...

Ubuntu 中安装 RabbitMQ 教程

简介 RabbitMq作为一款消息队列产品,它由Erlang语言开发,实现AMQP(高级消息队列协议)的开源消息中间件。 应用场景 异步处理 场景说明:用户注册后,注册信息写入数据库,再发邮件、短信通知。 …...

如何测试模型推理精度:Python初学者指南

如何测试模型推理精度:Python初学者指南 什么是模型推理精度?使用工具包:lm-evaluation-harness安装工具包 测试模型推理精度的步骤1. 加载模型和分词器2. 使用 lm-evaluation-harness 进行测试3. 运行脚本4. 查看结果 总结 在机器学习和深度…...

人工智能与区块链的碰撞:双剑合璧的创新前景

引言 人工智能(AI)与区块链技术,这两项曾经各自独立发展的前沿科技,如今正逐步走向融合。人工智能通过强大的数据处理能力和智能决策能力,在各个领域掀起了革命性的变革;而区块链凭借其去中心化、不可篡改的…...

安装Visual studio2022后,没法新建.net 4.5.2的项目

在Visual Studio 2022中无法新建.NET Framework 4.5.2的项目,通常是因为Visual Studio 2022默认不再支持较旧的.NET Framework版本,如4.5或4.5.2。不过,你可以通过一些手动步骤来使Visual Studio 2022支持.NET Framework 4.5.2项目。以下是一…...

小程序配置文件 —— 12 全局配置 - pages配置

全局配置 - pages配置 在根目录下的 app.json 文件中有一个 pages 字段,这里我们介绍一下 pages 字段的具体用法; pages 字段:用来指定小程序由哪些页面组成,用来让小程序知道由哪些页面组成以及页面定义在哪个目录,…...

Flink Data Source详解

注意在高版本中SourceFunction以及其子类RichSourceFunction、ParallelSourceFunction等已经被标记为废弃,所以我们要看数据源的实现只需要关注Source接口(org.apache.flink.api.connector.source.Source)。了解Source背后的架构和运行原理有助于我们更好的使用Source,或者…...

Spring Boot 介绍与应用

什么是 Spring Boot? Spring Boot 是一个用于简化 Spring 应用程序开发和部署的框架,它建立在 Spring 框架的基础之上,但去除了繁琐的配置。Spring Boot 采用“约定优于配置”的原则,默认启用了大量自动配置,使得开发…...

并行编程实战——TBB框架的应用之五Supra中IGTL的应用

一、OpenIGTLink OpenIGTLink,可以简称为IGTL。它是一个专供医疗应用的网络通信库。IGTL可以应用各种传感器、手术机器人和成像仪等的数据传输。OpenIGTLink是有一系列的协议在底层支持的,它是跨平台的,应用也非常简单。 OpenIGTLink迭代还是…...

【Golang 面试题】每日 3 题(八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...

11. 日常算法

1. 141. 环形链表 题目来源 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接…...

|从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面

🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑 文章目录 🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑♈前言♈♈调取Deepseek大模型♈♒准备工作♒♒调用API♒ ♈将模型嵌入到ui界面中♈♈…...

【走好求职第一步】求职OMG——见面课测验4

2025最新版!!!6.8截至答题,大家注意呀!博主码字不易点个关注吧~~ 1.单选题(2分) 下列不属于简历撰写技巧原则的是( A ) A.具体性 B.相关性 C.匹配性 2.单选题(2分) 笔试的下一步一般是:( B &…...

宝塔安装配置FRP

FRP(Fast Reverse Proxy)作为一款高性能的反向代理应用,能够帮助我们轻松实现内网穿透,将内网服务暴露到公网,满足远程访问、开发调试等多种需求。宝塔面板以其简洁易用的界面和强大的功能,成为众多站长和开…...

RabbitMQ 学习

MQ 的相关概念 什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。…...

Go语言学习-->项目中引用第三方库方式

Go语言学习–>项目中引用第三方库方式 1 执行 go mod tidy 分析引入的依赖有没有正常放在go.mod里面 找到依赖的包会自动下载到本地 并添加在go.mod里面 执行结果: 2 执行go get XXXX(库的名字)...

如何用AI高效运营1000+Tiktok矩阵账号

在当今数字化的时代,Tiktok 矩阵账号运营成为了众多企业和个人追求流量与变现的重要手段。然而,面对众多的账号管理,如何高效运营成为了关键。此时,AI 工具的出现为我们提供了强有力的支持。 一、Tiktok 矩阵账号的重要性 Tiktok…...

青少年编程与数学 01-011 系统软件简介 06 Android操作系统

青少年编程与数学 01-011 系统软件简介 06 Android操作系统 一、历史发展二、核心架构1. Linux 内核层 (Linux Kernel)2. 硬件抽象层 (Hardware Abstraction Layer - HAL)3. Native 层 (Native Libraries & Android Runtime)4. Java API 框架层 (Java Framework Layer)5. 应…...

六、【ESP32开发全栈指南:深入解析ESP32 IDF中的WiFi AP模式开发】

1. 引言:AP模式的核心价值 ESP32的AP(Access Point)模式使设备成为独立无线热点,适用于: 设备配网(SmartConfig)无路由器场景的本地组网数据直采终端(传感器集中器)临时…...

制作个人Github学术主页

1.fork一个模板 从模板网站Jekyll Themes fork一个模板,并在repository name里填入yourname.github.io 2.生成自己的site 按顺序点击以下按钮,修改Branch为master /root 然后点击save ,等待一会后刷新,便会生成一个新的site。 3.…...

惠普HP Deskjet 9600 打印机信息

基本参数 产品定位:彩色喷墨打印机。打印速度:14 页 / 分钟。最高分辨率:48001200dpi。打印内存:8MB4。打印语言:HP PCL 3 增强型。打印负荷:每月 5000 页。接口类型:USB、并口。 功能特点 自动…...