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 的版本信息以及相关组件的详细内容。

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

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

相关文章

mysql建立主从集群

mysql建立主从集群需要多个mysql服务器,主从数据库是通过log日志来进行同步的,所以需开启log-bin。本地安装多个mysql参考底部 主数据库配置 打开主数据库my.ini配置文件,给其配置server_id1 [mysqld] port3306 basedirD:/phpstudy_pro/1/…

curl+openssl 踩坑笔记

curl编译:点击跳转 踩坑一 * SSL certificate problem: unable to get local issuer certificate * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html …

【开源免费】基于SpringBoot+Vue.JS租房管理系统(JAVA毕业设计)

本文项目编号 T 102 ,文末自助获取源码 \color{red}{T102,文末自助获取源码} T102,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

小程序配置文件 —— 13 全局配置 - window配置

全局配置 - window配置 这里讲解根目录 app.json 中的 window 字段,window 字段用于设置小程序的状态栏、导航条、标题、窗口背景色; 状态栏:顶部位置,有网络信号、时间信息、电池信息等;导航条:有一个当…

BLE core 内容整理解释

本文内容比较杂散,只是做记录使用,后续会整理的有条理些 link layer 基本介绍 **Link Layer Control(链路层控制)**是蓝牙低功耗(BLE)协议栈的核心部分,负责实现设备间可靠、安全、低功耗的数…

【目标跟踪+人流计数+人流热图(Web界面)】基于YOLOV11+Vue+SpringBoot+Flask+MySQL

前言 本系统是基于YOLOv11SpringBootVueFlaskMySQL的人流计数、人流热图系统(包含YOLO全系列) 系统可以上传视频选择yolo模型进行人流计数。还支持自主划定检测区域,行人轨迹追踪、查看计数结果等功能。 可支持人流计数、人流热图以及人流热…

vuex - 第一天

思维逻辑 解决问题 代码能力2 vue2的项目 北京前端鸿蒙6期 语雀 vuex 在组件中使用 插件支持v2和v3 宏任务 和 微任务 多问问自己为什么 new的四步

什么是网络安全(Cybersecurity)?

不同组织机构对网络安全(Cybersecurity或Cyber Security)的定义不尽相同。从目标上来说,网络安全主要用于保护网络、计算机、移动设备、应用程序及数据等资产免受网络攻击,避免造成数据泄露、业务中断等安全问题。 网络钓鱼、勒索…

Selenium+Java(21):Jenkins发送邮件报错Not sent to the following valid addresses解决方案

问题现象 小月妹妹近期在做RobotFrameWork自动化测试,并且使用Jenkins发送测试邮件的时候,发现报错Not sent to the following valid addresses,明明各个配置项看起来都没有问题,但是一到邮件发送环节,就是发送不出去,而且还不提示太多有用的信息,急的妹妹脸都红了,于…

虚拟机网络配置

【1】虚拟机提供的网络 桥接模式:可以联网,和主机不是同一个ip地址 NAT模式:可以联网,虚拟机和主机是同一个ip地址 仅主机模式:不能联网,可以实现虚拟机和主机之间的通信 【2】虚拟机是否能连接网络 …

STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器

STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器 1、按键控制 LED 按键:常见的输入设备,按下导通,松手断开 按键抖动:由子按键内部使用的是机械式弹簧片来进行通断的、所以在按下和松手的瞬间会伴随有一连串的抖动 按键控制LED接线图: 要有工程…

2024/12/29周报

文章目录 摘要Abstract粒子群优化文献研究背景污水处理面临的挑战现有优化方法的局限性 研究方法基于BSM1仿真平台的污水处理建模动态多目标粒子群优化算法(DMOPSO-CD)多目标优化控制架构(SOFNN) 研究过程研究结果与分析总结 摘要…

C#冒泡排序

一、冒泡排序基本原理 冒泡排序是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 以一个简单的整数数…

科技云报到:人工智能时代“三大件”:生成式AI、数据、云服务

科技云报到原创。 就像自行车、手表和缝纫机是工业时代的“三大件”。生成式AI、数据、云服务正在成为智能时代的“新三大件”。加之全球人工智能新基建加速建设,成为了人类社会数字化迁徙的助推剂,让新三大件之间的耦合越来越紧密。从物理世界到数字世…

Node项目——从0开始构建且共享至Gitee

从0开始构建一个Node.js项目涉及多个步骤,包括设置开发环境、初始化项目、安装依赖、编写代码以及配置版本控制等。以下是一个详细的步骤指南: 1. 安装Node.js和npm 首先,确保你已经安装了Node.js和npm(Node Package Manager&am…

LabVIEW故障诊断中的无故障数据怎么办

在使用LabVIEW进行故障诊断时,可能会面临“无故障数据”的情况。这种情况下,缺乏明确的故障参考,使得系统难以通过传统对比法进行故障识别。本文将介绍应对无故障数据的关键策略,包括数据模拟、特征提取和基于机器学习的方法&…

3_TCP/IP连接三次握手与断开四次挥手

TCP/IP 通信是网络通信的基础协议,分为以下主要步骤: 1、建立连接(三次握手) 目的:保证双方建立可靠的通信连接。 过程: 1>客户端发送 SYN:客户端向服务器发送一个 SYN(同步&…

【黑马头条训练营】day02-黑马头条-App端文章展示

目录 描述app端首页从请求到数据显示的全部流程 描述文章微服务的组成及首页展示业务与实现 自己编写文章微服务关键逻辑 描述app端首页从请求到数据显示的全部流程 浏览器请求我们的app端 会通过nginx请求到我们app前端 app端输入手机号和密码 点击登录 请求 会到我们的…

算法进阶:贪心算法

贪心算法是一种简单而直观的算法思想,它在每一步选择中都采取在当前状态下最优的选择,以期望最终得到全局最优解。贪心算法通常适用于一些具有最优子结构的问题,即问题的最优解可以通过一系列局部最优解的选择得到。 贪心算法的基本思路是&a…

Windows 使用 非安装版MySQL 8

1.下载MySQL 8 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-winx64.zip 2.创建my.ini 下载解压后,发现根目录没有my.ini文件,需手动创建 my.ini # For advice on how to change settings please see # http://dev.mysql.com/doc/refma…