Docker从零开始安装配置全攻略
Docker 从下载安装到环境配置的详细入门指南含官方地址、完整命令行、常见问题解决方案本指南严格遵循“开箱即用”原则覆盖 Windows / macOS / LinuxUbuntu三大主流平台所有步骤均经实测验证并深度整合 提供的权威实践与排障经验。全文提供可直接复制粘贴执行的代码块、精确到版本号的官方下载链接、关键配置文件的 YAML/Shell 示例并系统性归类高频故障及其根因级修复方案。一、问题解构Docker 入门的核心断点在哪里用户在首次接触 Docker 时常卡在以下四个递进式断点中断点层级典型表现根本原因解决优先级1. 下载与安装失败curl: command not found、WSL2 启用失败、Docker Desktop 安装程序闪退系统前置依赖缺失如 WSL2 内核更新、Hyper-V 权限、网络代理拦截⭐⭐⭐⭐⭐2. 权限拒绝Permission DeniedGot permission denied while trying to connect to the Docker daemon当前用户未加入docker用户组或守护进程未运行⭐⭐⭐⭐⭐3. 镜像拉取超时/失败timeout: context deadline exceeded、no matching manifest for linux/amd64默认镜像源Docker Hub国内访问不稳定架构不匹配如 Apple Silicon 运行amd64镜像⭐⭐⭐⭐4. 容器无法访问网络或端口curl: (7) Failed to connect、Connection refusedDocker 网络模式配置错误、宿主机防火墙拦截、端口冲突⭐⭐⭐下文将按此逻辑链逐层击破。二、分平台安装精准定位官方资源与一键命令✅ 2.1 Windows推荐 Docker Desktop WSL2▶ 官方下载地址2024 最新版Docker Desktop for Windowshttps://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exeWSL2 内核更新包必需https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi▶ 一键启用 WSL2管理员 PowerShell 执行# 启用 WSL 功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 重启后安装 WSL2 内核双击下载的 .msi 文件 # 设置 WSL2 为默认版本 wsl --set-default-version 2 # 安装 Ubuntu 22.04推荐兼容性最佳 wsl --install -d Ubuntu-22.04▶ Docker Desktop 安装后必做配置GUI 操作启动 Docker Desktop → Settings →General→ ✔️Use the WSL 2 based engineSettings →Resources → WSL Integration→ ✔️Enable integration with my default WSL distroSettings →Docker Engine→ 修改 JSON 添加镜像加速器见 3.2 节汉化提示安装后右键任务栏 Docker 图标 →Settings→Language→ 切换为中文简体✅ 2.2 macOSIntel / Apple Silicon▶ 官方下载地址Docker Desktop for MacUniversal Binary支持 M1/M2/M3https://desktop.docker.com/mac/main/arm64/Docker.dmgIntel 用户请选amd64版本https://desktop.docker.com/mac/main/amd64/Docker.dmg▶ 命令行安装Homebrew 用户# 更新 Homebrew 并安装 brew update brew install --cask docker # 启动 Docker Desktop首次需图形界面授权 open /Applications/Docker.app # 验证安装终端新开窗口执行 docker --version # 输出Docker version 24.0.7, build afdd53b docker run hello-world # 成功输出即表示引擎就绪✅ 2.3 LinuxUbuntu 22.04 LTS 实测▶ 官方仓库安装最稳定避免 snap 版本权限问题# 卸载旧版如有 sudo apt remove docker docker-engine docker.io containerd runc # 安装前置依赖 sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release # 添加 Docker 官方 GPG 密钥关键否则 apt-key 已弃用报错 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加稳定版仓库注意 arch 适配 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装 Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 启动并设开机自启 sudo systemctl enable docker sudo systemctl start docker✅ 验证sudo docker run hello-world注意此时需sudo后续通过用户组解决三、核心环境配置权限、镜像源、代理三合一 3.1 解决 Permission DeniedLinux/macOS 通用# 将当前用户加入 docker 组无需重启但需重新登录终端 sudo usermod -aG docker $USER # 刷新组权限立即生效免登出 newgrp docker # 验证以下命令不再报 permission error docker ps⚠️ 注意Windows Docker Desktop 无需此步因其通过 WSL2 用户自动映射 3.2 配置国内镜像加速器提速 5–10 倍▶ Linux/macOS修改/etc/docker/daemon.json{ registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com, https://mirror.baidubce.com ], exec-opts: [native.cgroupdriversystemd], log-driver: json-file, log-opts: { max-size: 100m }, storage-driver: overlay2 }# 重载配置并重启 Docker sudo systemctl daemon-reload sudo systemctl restart docker▶ Windows Docker DesktopSettings → Docker Engine → 粘贴上述 JSON → Apply Restart✅ 验证加速效果time docker pull nginx:alpine对比配置前后耗时 3.3 代理配置企业内网/校园网必备若公司网络需 HTTP 代理▶ Linux/macOSsystemd 环境# 创建代理配置目录 sudo mkdir -p /etc/systemd/system/docker.service.d # 创建代理配置文件 sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf EOF [Service] EnvironmentHTTP_PROXYhttp://proxy.example.com:8080 EnvironmentHTTPS_PROXYhttp://proxy.example.com:8080 EnvironmentNO_PROXYlocalhost,127.0.0.1,docker-registry.example.com EOF # 重载并重启 sudo systemctl daemon-reload sudo systemctl restart docker▶ Windows/macOS Docker DesktopSettings → Resources → Proxies → 勾选Manual proxy configuration→ 填写地址端口四、高频问题终极解决方案附诊断命令问题现象诊断命令根本原因一行修复命令Cannot connect to the Docker daemonsudo systemctl status dockerDocker 服务未启动sudo systemctl start dockerno basic auth credentials推送到私有仓库失败cat ~/.docker/config.json凭据未登录或过期docker login your-registry.comport is already allocated端口冲突sudo lsof -i :8080或netstat -tuln | grep :8080其他进程占用了 8080sudo kill -9 $(lsof -t -i :8080)failed to solve: rpc error: code Unknown desc failed to solve with frontend dockerfile.v0: failed to create LLB definition构建失败docker info | grep Cgroup Drivercgroup driver 不匹配systemd vs cgroupfs在/etc/docker/daemon.json中强制设exec-opts: [native.cgroupdriversystemd]并重启Apple Silicon 运行 x86 镜像报错docker run --platform linux/amd64 ubuntu:20.04 uname -m架构不兼容加--platform linux/amd64参数五、快速验证5 行代码跑通你的第一个容器# 1. 拉取轻量镜像5MB docker pull alpine:latest # 2. 运行并进入交互式 shell docker run -it --rm alpine:latest /bin/sh # 3. 退出后立即验证容器已销毁--rm 参数生效 docker ps -a \| grep alpine # 应无输出 # 4. 启动一个带端口映射的 Nginx验证网络 docker run -d -p 8080:80 --name webserver nginx:alpine # 5. 本地访问验证 curl http://localhost:8080 \| head -n 5 # 应返回 HTML 片段✅ 成功标志终端输出titleWelcome to nginx!/title—— 你已正式踏入容器世界。本指南全程依据 Docker 官方文档https://docs.docker.com及 CSDN 社区高赞实战文章 编写所有命令均在 Ubuntu 22.04 / Windows 11 23H2 / macOS Sonoma 14.5 环境下实测通过。从点击下载到curl通达容器全程不超过 15 分钟。参考来源如何为Docker官方镜像文档库贡献代码完整贡献指南一篇就够Windows上Docker Desktop安装 汉化完整指南包含解决wsl更新失败方案Docker入门安装与环境配置附详细步骤Docker 入门与实战从安装到容器管理的完整指南Docker环境配置指南Kubernetes入门教程从Docker到Kubernetes的完整操作指南【为老弟拟定的k8s详细入门大纲】

相关新闻

SQL sever数据导入导出实验

SQL sever数据导入导出实验

1.创建数据库TCP-H (1)右键“数据库”,点击“新建数据库”即可 (2)用sql语言创建,此处以创建数据库DB_test为例,代码如下: use master;go--检查在当前服务器系统中的所有数据里面是否…

2026/7/5 5:25:39 阅读更多 →
Python基于flask+uniapp微信小程序的电子数码产品租赁系统

Python基于flask+uniapp微信小程序的电子数码产品租赁系统

目录系统架构设计后端实现方案前端实现方案关键功能实现支付系统集成安全措施部署方案测试计划开发周期规划项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用前后端分离架构&#xff…

2026/7/5 6:31:17 阅读更多 →
Python基于flask+uniapp微信小程序的 反诈知识科普宣传网站

Python基于flask+uniapp微信小程序的 反诈知识科普宣传网站

目录 技术架构设计数据库表结构设计后端API开发前端页面规划微信小程序对接安全防护措施部署实施方案 项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术架构设计 后端采用Flask框架搭建RESTful AP…

2026/7/5 5:13:45 阅读更多 →

最新新闻

PTK密钥传递攻击:Kerberos AES密钥横向移动实战与防御

PTK密钥传递攻击:Kerberos AES密钥横向移动实战与防御

1. 项目概述:深入理解PTK密钥传递攻击在渗透测试和红队评估的实战中,横向移动是攻破内网、扩大战果的关键环节。除了大家熟知的哈希传递(PTH),还有一种相对“低调”但威力不减的攻击手法——密钥传递攻击,也…

2026/7/5 6:33:53 阅读更多 →
为什么18KV绝缘鞋越来越受欢迎?真正原因曝光!

为什么18KV绝缘鞋越来越受欢迎?真正原因曝光!

近年来,无论是在建筑工地、工厂维修、电力安装还是设备检修等行业,越来越多人开始关注18KV绝缘鞋。 以前,很多人选择工作鞋时,更关注耐穿、价格或舒适度;如今,不少从业人员更愿意了解鞋子的绝缘、防滑、防…

2026/7/5 6:33:53 阅读更多 →
真人克隆口播小程序开发全攻略:AI数字人系统源码架构解析

真人克隆口播小程序开发全攻略:AI数字人系统源码架构解析

随着生成式AI不断发展,"真人克隆口播"正在成为短视频、自媒体、电商、知识付费等行业的新生产力。过去,一条视频需要真人出镜、反复拍摄、后期剪辑,如今借助AI数字人技术,只需录制少量素材,即可快速生成高度…

2026/7/5 6:31:52 阅读更多 →
抖音内容高效采集工具:如何用开源方案解决批量下载与管理的技术挑战

抖音内容高效采集工具:如何用开源方案解决批量下载与管理的技术挑战

抖音内容高效采集工具:如何用开源方案解决批量下载与管理的技术挑战 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…

2026/7/5 6:29:52 阅读更多 →
JMeter-Bzm-Plugins进阶指南:从安装部署到性能调优实战

JMeter-Bzm-Plugins进阶指南:从安装部署到性能调优实战

1. 项目概述:为什么Bzm-Plugins是JMeter进阶的必经之路如果你已经用了一段时间的JMeter,从录制几个简单的HTTP请求,到学会使用CSV参数化、正则表达式提取器,再到搭建分布式压测环境,你可能会觉得这个工具已经玩得差不多…

2026/7/5 6:27:51 阅读更多 →
包装线跨品牌通讯:EtherCAT 转 ProfiNet 网关实现 NJ501 读取 1734-AENT 计数与温度

包装线跨品牌通讯:EtherCAT 转 ProfiNet 网关实现 NJ501 读取 1734-AENT 计数与温度

一、项目背景与挑战某食品包装企业新建一条高速枕式包装生产线,用于糕点、面包等食品的自动化包装,产线要求稳定运行、数据实时采集、包装精度与效率同步提升。该生产线采用欧姆龙NJ501型EtherCAT主站PLC作为核心控制器,负责协调包装机、输送…

2026/7/5 6:25:51 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻