快速上手: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等࿰…...
ASP.NET 部署到IIS,访问其它服务器的共享文件 密码设定
asp.net 修改上面的 IIS需要在 配置文件 添加如下内容 》》》web.config <system.web><!--<identity impersonate"true"/>--><identity impersonate"true" userName"您的账号" password"您的密码" /><co…...
将自定义函数添加到MATLAB搜索路径的方法
在MATLAB中,将自定义函数添加到搜索路径可以确保你能够方便地调用这些函数,而不必每次都指定完整路径。本文介绍几种将自定义函数添加到MATLAB搜索路径的方法 文章目录 使用 MATLAB 的路径管理工具使用 addpath 命令在启动时自动添加路径使用 genpath 命…...
云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…...
什么是MySQL,有什么特点
什么是 MySQL? MySQL 是一个关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,后来被 Sun Microsystems 收购,最终成为 Oracle Corporation 的一部分。MySQL 是最流行的关系型数据库之一,…...
初始化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(){// 创建一个字典,键是字符串类型,值是整数类型Dictionary<string, int> studentScores new Dictionary<string, int>();// 向字典中添加键值对// 原理&am…...
CDH安装与配置及相关大数据组件实践
CDH安装与配置及相关大数据组件实践 一、CDH 介绍 CDH(Cloudera’s Distribution Including Apache Hadoop)是一个基于 Web 用户界面的大数据平台版本。它支持大多数 Hadoop 组件,包括 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系列基础(一)卷积神经网络原理详解与基础层级结构说明-CSDN博客 YOLO系列基础(二)Bottleneck瓶颈层原理详解-CSDN博客 YOLO系列基础(三)从ResNet残差网络到C3层-CSDN博客 YOLO系列基础…...
LeetCode100之环形链表(141)--Java
1.问题描述 给你一个链表的头节点 head ,判断链表中是否有环 示例1 输入:head [3,2,0,-4], pos 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点 示例2 输入:head [1,2], pos 0 输出…...
【ict基础软件赛道】真题-50%openEuler
以下哪个命令可用于查看当前shell的后台任务在openeuler中哪个符号用于创建后台执行进程在openeuler中使用哪个命令查看软件包的详细信息在openeuler中如果想要查看本机的主机名可以使用下面哪个命令在openeuler中使用的包管理器是在openeuler系统中要配置防火墙以允许ssh连接应…...
<AI 学习> 下载 Stable Diffusions via Windows OS
注意: 不能使用 网络路径 不再支持 HTTPS 登录,需要 Token 1. 获得合法的授权 Stability AI License — Stability AI 上面的链接打开,去申请 许可 2. 拥有 HuggingFace 账号 注册:https://huggingface.co/ 3. 配置 Tok…...
计算机图形学在游戏开发中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 引言 计算机图形学的基本概念…...
【CubeMX-HAL库】STM32H743II——SDRAM配置所遇问题
推荐的博客和视频: 1、【CubeMX-HAL库】STM32H743—FMC配置SDRAM_stm32h743 sdram 速度-CSDN博客 2、【【STM32CubeMX教程】STM32全外设原理、配置和常用HAL、LL库API使用详解】 3、在百度网盘里有STM32H743的例程:【通过网盘分享的文件:S…...
mac上使用docker搭建gitlab
在 Mac 上搭建 GitLab 可以使用 Docker 来简化安装过程 一、安装详细步骤 1. 安装 Docker 如果你尚未安装 Docker,可以通过以下步骤安装: 下载并安装 Docker Desktop for Mac.安装完成后,启动 Docker Desktop,确保 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高度占位 (1)需要先在App.vue中获取一下 uni.getSystemInfoSync().windowBottom; //返回值是tabBar的高度(2)在app.vue中定义一个全局样式 3、在需要的页面底部,加上一个view&…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
