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

快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)

### 快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)

---

Docker 是一款开源容器化平台,广泛应用于开发、测试和部署。本文将为您提供分步骤的 Docker 安装教程,涵盖 Windows、macOS 和 Linux 系统。

---

## **一、Docker 安装前的准备工作**

在安装 Docker 之前,确保满足以下条件:

1. **操作系统要求**:
   - Windows 10 或更高版本(需启用 WSL 2)。
   - macOS 10.15(Catalina)或更高版本。
   - Linux 支持主流发行版(如 Ubuntu、CentOS)。
   
2. **硬件要求**:
   - 至少 4GB 的内存。
   - 支持虚拟化技术(如 VT-x 或 AMD-V)。

3. **网络需求**:
   - 安装过程中需要稳定的网络连接。

---

## **二、安装步骤**

### **1. Windows 平台**

#### 1.1 下载 Docker Desktop
1. 打开 [Docker 官方网站](https://www.docker.com/products/docker-desktop)。
2. 选择 **Get Docker**,下载适用于 Windows 的安装包。

#### 1.2 安装 Docker Desktop
1. 双击下载的安装文件(如 `Docker Desktop Installer.exe`)。
2. 在安装向导中,勾选 **Enable WSL 2 Features**,确保启用了 WSL 2。
3. 点击安装,等待安装完成。

#### 1.3 启用 WSL 2(若未启用)
1. 打开 PowerShell,以管理员身份运行以下命令,安装 WSL:
   ```bash
   wsl --install
   ```
2. 设置默认 WSL 版本为 WSL 2:
   ```bash
   wsl --set-default-version 2
   ```

#### 1.4 配置 Docker Desktop
1. 安装完成后,启动 Docker Desktop。
2. 登录 Docker Hub 账号(若无账号,可前往 [Docker Hub](https://hub.docker.com/) 免费注册)。
3. 确认 Docker Desktop 显示 **Running** 状态。

#### 1.5 验证安装
在 PowerShell 中运行以下命令,确认 Docker 已正确安装:
```bash
docker --version
```
**示例输出**:
```
Docker version 24.x.x, build xxxxxxx
```

---

### **2. macOS 平台**

#### 2.1 下载 Docker Desktop
1. 前往 [Docker 官方网站](https://www.docker.com/products/docker-desktop)。
2. 选择适用于 macOS 的版本并下载。

#### 2.2 安装 Docker Desktop
1. 下载完成后,双击 `.dmg` 文件。
2. 将 Docker 图标拖入 **Applications** 文件夹。
3. 打开 **Applications**,运行 Docker。

#### 2.3 登录并配置
1. 启动 Docker Desktop 时,可能会提示输入管理员密码,输入后继续。
2. 登录 Docker Hub 账号,完成配置。

#### 2.4 验证安装
打开终端,运行以下命令:
```bash
docker --version
```
**示例输出**:
```
Docker version 24.x.x, build xxxxxxx
```

---

### **3. Linux 平台**

#### 3.1 安装 Docker 引擎(以 Ubuntu 为例)

1. 更新系统软件包:
   ```bash
   sudo apt update
   sudo apt upgrade
   ```
2. 安装必要的依赖项:
   ```bash
   sudo apt install apt-transport-https ca-certificates curl software-properties-common
   ```
3. 添加 Docker 官方的 GPG 密钥:
   ```bash
   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
   ```
4. 添加 Docker 的软件源:
   ```bash
   echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
   ```
5. 更新软件包列表并安装 Docker:
   ```bash
   sudo apt update
   sudo apt install docker-ce docker-ce-cli containerd.io
   ```

#### 3.2 启动并配置 Docker
1. 启动 Docker 服务:
   ```bash
   sudo systemctl start docker
   ```
2. 设置开机自启动:
   ```bash
   sudo systemctl enable docker
   ```
3. 将当前用户加入 `docker` 用户组(可选):
   ```bash
   sudo usermod -aG docker $USER
   ```
   **注意**:执行此命令后需重新登录以生效。

#### 3.3 验证安装
运行以下命令检查 Docker 是否安装成功:
```bash
docker --version
```
**示例输出**:
```
Docker version 24.x.x, build xxxxxxx
```

---

## **三、验证 Docker 是否正常运行**

无论在哪个操作系统上安装完成 Docker,都可以通过以下命令验证其功能:

1. 运行测试镜像:
   ```bash
   docker run hello-world
   ```
2. 如果安装成功,会输出以下内容:
   ```
   Hello from Docker!
   This message shows that your installation appears to be working correctly.
   ```

---

## **四、常见问题及解决方法**

### 1. 启动 Docker 时失败
- **原因**:未启用虚拟化。
- **解决方法**:进入 BIOS,启用 CPU 的虚拟化支持(如 VT-x 或 AMD-V)。

### 2. Linux 下无权限运行 Docker 命令
- **原因**:当前用户不在 `docker` 用户组中。
- **解决方法**:
  ```bash
  sudo usermod -aG docker $USER
  ```

### 3. WSL 2 配置错误(Windows)
- **原因**:WSL 2 内核未正确安装。
- **解决方法**:
  1. 下载 [WSL 2 更新包](https://aka.ms/wsl2kernel)。
  2. 安装后重新启动 Docker Desktop。

---

## **五、后续学习方向**

完成 Docker 安装后,您可以学习以下内容以深入了解 Docker:
1. **常用命令**:如 `docker pull`, `docker build`, `docker run`, `docker ps`, `docker stop` 等。
2. **创建自定义镜像**:学习编写 Dockerfile。
3. **Docker Compose**:管理多个容器的工具。
4. **容器编排**:学习 Kubernetes 等技术。

Docker 是现代开发和部署的核心工具之一,掌握它将极大提高您的工作效率!

相关文章:

快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)

### 快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux) --- Docker 是一款开源容器化平台,广泛应用于开发、测试和部署。本文将为您提供分步骤的 Docker 安装教程,涵盖 Windows、macOS 和 Linux 系统。 …...

kafka消费者出现频繁Rebalance

kafka消费者在正常使用过程中,突然出现了不消费消息的情况,项目里是使用了多个消费者消费不同数据,按理不会相互影响,看日志,发现消费者出现了频繁的Rebalance。 Rebalance的触发条件 组成员发生变更(新consumer加入组…...

rk3399开发环境使用Android 10初体验蓝牙功能

版本 日期 作者 变更表述 1.0 2024/11/10 于忠军 文档创建 零. 前言 由于Bluedroid的介绍文档有限,以及对Android的一些基本的知识需要了(Android 四大组件/AIDL/Framework/Binder机制/JNI/HIDL等),加上需要掌握的语言包括Java/C/C等&#xff0…...

ASP.NET 部署到IIS,访问其它服务器的共享文件 密码设定

asp.net 修改上面的 IIS需要在 配置文件 添加如下内容 》》》web.config <system.web><!--<identity impersonate"true"/>--><identity impersonate"true" userName"您的账号" password"您的密码" /><co…...

将自定义函数添加到MATLAB搜索路径的方法

在MATLAB中&#xff0c;将自定义函数添加到搜索路径可以确保你能够方便地调用这些函数&#xff0c;而不必每次都指定完整路径。本文介绍几种将自定义函数添加到MATLAB搜索路径的方法 文章目录 使用 MATLAB 的路径管理工具使用 addpath 命令在启动时自动添加路径使用 genpath 命…...

云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测

背景 如果你要为应用程序构建规范或用户故事&#xff0c;那么务必先把应用程序每个组件的监控指标考虑进来&#xff0c;千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章&#xff0c;当…...

什么是MySQL,有什么特点

什么是 MySQL&#xff1f; MySQL 是一个关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典公司 MySQL AB 开发&#xff0c;后来被 Sun Microsystems 收购&#xff0c;最终成为 Oracle Corporation 的一部分。MySQL 是最流行的关系型数据库之一&#xff0c…...

初始化mysql5.7

-- 环境变量 MYSQL_HOME %MYSQL_HOME%\bin -- 新增配置文件 my.ini [mysqld] port 3306 basedir D:/develop/MySQL/mysql-5.7.44-winx64 datadir D:/develop/MySQL/mysql-5.7.44-winx64/data max_connections 200character-set-serverutf8 default-storage-engineINNODB …...

C# 字典应用

using System;using System.Collections.Generic;class Program{static void Main(){// 创建一个字典&#xff0c;键是字符串类型&#xff0c;值是整数类型Dictionary<string, int> studentScores new Dictionary<string, int>();// 向字典中添加键值对// 原理&am…...

CDH安装与配置及相关大数据组件实践

CDH安装与配置及相关大数据组件实践 一、CDH 介绍 CDH&#xff08;Cloudera’s Distribution Including Apache Hadoop&#xff09;是一个基于 Web 用户界面的大数据平台版本。它支持大多数 Hadoop 组件&#xff0c;包括 HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoo…...

fastapi 调用ollama之下的sqlcoder模式进行对话操作数据库

from fastapi import FastAPI, HTTPException, Request from pydantic import BaseModel import ollama import mysql.connector from mysql.connector.cursor import MySQLCursor import jsonapp FastAPI()# 数据库连接配置 DB_CONFIG {"database": "web&quo…...

YOLO系列基础(六)YOLOv1原理详解,清晰明了!

系列文章地址 YOLO系列基础&#xff08;一&#xff09;卷积神经网络原理详解与基础层级结构说明-CSDN博客 YOLO系列基础&#xff08;二&#xff09;Bottleneck瓶颈层原理详解-CSDN博客 YOLO系列基础&#xff08;三&#xff09;从ResNet残差网络到C3层-CSDN博客 YOLO系列基础…...

LeetCode100之环形链表(141)--Java

1.问题描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环 示例1 输入&#xff1a;head [3,2,0,-4], pos 1 输出&#xff1a;true 解释&#xff1a;链表中有一个环&#xff0c;其尾部连接到第二个节点 示例2 输入&#xff1a;head [1,2], pos 0 输出&#xf…...

【ict基础软件赛道】真题-50%openEuler

以下哪个命令可用于查看当前shell的后台任务在openeuler中哪个符号用于创建后台执行进程在openeuler中使用哪个命令查看软件包的详细信息在openeuler中如果想要查看本机的主机名可以使用下面哪个命令在openeuler中使用的包管理器是在openeuler系统中要配置防火墙以允许ssh连接应…...

<AI 学习> 下载 Stable Diffusions via Windows OS

注意&#xff1a; 不能使用 网络路径 不再支持 HTTPS 登录&#xff0c;需要 Token 1. 获得合法的授权 Stability AI License — Stability AI 上面的链接打开&#xff0c;去申请 许可 2. 拥有 HuggingFace 账号 注册&#xff1a;https://huggingface.co/ 3. 配置 Tok…...

计算机图形学在游戏开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 引言 计算机图形学的基本概念…...

【CubeMX-HAL库】STM32H743II——SDRAM配置所遇问题

推荐的博客和视频&#xff1a; 1、【CubeMX-HAL库】STM32H743—FMC配置SDRAM_stm32h743 sdram 速度-CSDN博客 2、【【STM32CubeMX教程】STM32全外设原理、配置和常用HAL、LL库API使用详解】 3、在百度网盘里有STM32H743的例程&#xff1a;【通过网盘分享的文件&#xff1a;S…...

mac上使用docker搭建gitlab

在 Mac 上搭建 GitLab 可以使用 Docker 来简化安装过程 一、安装详细步骤 1. 安装 Docker 如果你尚未安装 Docker&#xff0c;可以通过以下步骤安装&#xff1a; 下载并安装 Docker Desktop for Mac.安装完成后&#xff0c;启动 Docker Desktop&#xff0c;确保 Docker 运行…...

二维数组操作

代码结构 main.c #include <stdio.h> #include <stdlib.h>#define LEN 100int main() {//通过指针引用多维数组# if 1//定义多维数组int a[3][5] {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};int row sizeof(a) /sizeof(a[0]);int colum sizeof(a[0]) / sizeof(a[0…...

uniapp设置tabBar高斯模糊并设置tabBar高度占位

1、设置tabBar高斯模糊 2、设置tabBar高度占位 &#xff08;1&#xff09;需要先在App.vue中获取一下 uni.getSystemInfoSync().windowBottom; //返回值是tabBar的高度&#xff08;2&#xff09;在app.vue中定义一个全局样式 3、在需要的页面底部&#xff0c;加上一个view&…...

上市公司代理成本数据大全(第一类和第二类代理成本均有)1991-2023年

一、计算方式&#xff1a; &#xff08;1&#xff09; 第一类代理成本 AC1:经营费用率&#xff0c;参考顶刊《管理世界》李文贵和余明桂(2015)老师的研究构建代理成本 AC2:管理费用率&#xff0c;参考C刊《经济管理》彭雅哲和汪昌云(2021) 老师的研究构建代理成本 AC3:资产周转…...

CA-Markov模型概述及其MATLAB实现

CA-Markov模型概述及其MATLAB实现 1 Markov模型2 CA-Markov模型2.1 元胞自动机(Cellular Aumatomata, 简称CA)2.1.1 构成2.2 准确度评估(Accuracy assessment)2.2.1 Kappa coefficient参考1.参考文献2.其它参考资料1 Markov模型 Markov模型是一种数学模型,用于描述系统在不…...

《生成式 AI》课程 第3講 CODE TASK执行文章摘要的机器人

课程 《生成式 AI》课程 第3講&#xff1a;訓練不了人工智慧嗎&#xff1f;你可以訓練你自己-CSDN博客 任务1:总结 1.我们希望你创建一个可以执行文章摘要的机器人。 2.设计一个提示符&#xff0c;使语言模型能够对文章进行总结。 model: gpt-4o-mini,#gpt-3.5-turbo, import…...

HCIP-HarmonyOS Application Developer 习题(二十二)

1、用户将手机导航迁移至智能手表之后&#xff0c;智能手表如果需要获取手机传过来的数据&#xff0c;从下列哪个方法中获取? A、onCompleteContinuation() B、onStartContinuation() C、onRestoreData() D、onSaveData() 答案&#xff1a;C 分析&#xff1a;FA发起迁移后&am…...

c++原型模式(Prototype Pattern)

原型模式&#xff08;Prototype Pattern&#xff09; 原型模式是一种创建型设计模式&#xff0c;它允许你通过复制现有对象来创建新的对象&#xff0c;而不是通过类实例化来创建对象。这种模式在开发时需要大量类似对象的情况下非常有用。原型模式的核心是一个具有克隆方法的接…...

联通大数据面试题及参考答案

Flink 是怎么使用的? Flink 是一个分布式流批一体的开源平台,以下是其一般使用步骤及相关要点: 环境搭建 首先要根据需求选择合适的部署模式,比如本地模式用于开发测试,集群模式(如 Standalone、YARN、Kubernetes 等)用于生产环境。安装相应的 JDK 版本(Flink 基于 Ja…...

MySQL数据库:SQL语言入门 【3】(学习笔记)

目录 5&#xff0c;TCL —— 事务控制语言&#xff08;Transaction Control Language&#xff09; &#xff08;1&#xff09;事务的概念作用 &#xff08;2&#xff09;事务的特性 【1】原子性 【2】一致性 【3】隔离性 【4】持久性 &#xff08;3&#xff09;并发事务带来…...

uniapp 实现tabbar分类导航及滚动联动效果

思路&#xff1a;使用两个scroll-view&#xff0c;tabbar分类导航使用scrollleft移动&#xff0c;内容联动使用页面滚动onPageScroll监听滚动高度 效果图 <template><view class"content" ><view :class"[isSticky ? tab-sticky: ]">…...

华为数字化转型的本质为何是管理变革

随着全球经济的加速数字化转型&#xff0c;企业纷纷进入了数字化时代的大潮。华为作为数字化转型的领军者&#xff0c;已经成功实践了从传统企业向数字化企业的蜕变。对于企业而言&#xff0c;数字化转型不仅仅是新技术的应用&#xff0c;更是一场管理变革。在这场变革的背后&a…...

【数据库】深入解析慢 SQL 的识别与优化策略

文章目录 什么是慢 SQL&#xff1f;慢 SQL 的危害如何检测分析慢 SQL使用 MySQL 慢查询日志利用 EXPLAIN 分析执行计划通过 Profiling 获取详细执行信息借助慢 SQL 收集分析平台 实际案例解析&#xff1a;600秒的慢 SQL 优化之旅问题描述初步分析优化步骤1. 优化 SQL 语句结构2…...