【Docker】- Windows11 安装和配置

Windows 11 家庭版 安装Docker

Docker是什么

Docker 是一个开源的容器化平台,它可以让你在一个独立、轻量的环境中运行应用程序。它主要由以下几个核心概念组成:

  1. 镜像(Image):Docker 的应用程序模板,包含代码、运行时、依赖项等。
  2. 容器(Container):镜像的运行实例,彼此隔离,但可以共享主机资源。
  3. Dockerfile :定义镜像的构建方式,包含一系列指令(如 FROMRUNCOPY)。
  4. Docker Compose :用于管理多容器应用,使用 docker-compose.yml 配置文件。
  5. Docker Hub:官方的公共镜像仓库,存储和分发 Docker 镜像。

常用命令:

  • docker pull <image> 下载镜像
  • docker run -d -p 8080:80 <image> 运行容器并映射端口
  • docker ps 查看运行中的容器
  • docker stop <container_id> 停止容器
  • docker rm <container_id> 删除容器
  • docker rmi <image_id> 删除镜像
  • docker build -t <name> . 通过 Dockerfile 构建镜像

Docker的优点:

  1. 轻量级:Docker使用容器技术,相比虚拟机(VM),它共享主机的操作系统内核,从而减少资源占用和启动时间。
  2. 快速部署和启动:容器化应用可以在几秒钟内启动,而传统的虚拟机可能需要数分钟。
  3. 跨平台和一致性:Docker容器能够在不同的环境(开发、测试、生产)中保持一致,解决"在我机器上可以运行"的问题。
  4. 高效的资源利用:Docker允许多个容器共享相同的操作系统内核,消耗更少的CPU和内存资源。
  5. 易于管理和扩展:Docker提供了灵活的镜像管理和编排工具(如Docker Compose和Kubernetes),方便进行大规模部署和管理。
  6. 良好的隔离性:容器之间相互独立,确保应用不会相互干扰,提高安全性和稳定性。
  7. 便于CI/CD:Docker与持续集成/持续部署(CI/CD)流程完美结合,加快开发和部署速度。
  8. 丰富的生态系统:Docker Hub提供了大量官方和第三方镜像,方便开发者快速获取和使用各种环境和应用。

Docker的应用场景:

  1. 开发和测试

    • 快速创建开发环境,保持与生产环境一致。
    • 运行不同版本的软件进行兼容性测试。
    • 团队协作时,避免环境不一致问题。
  2. 微服务架构

    • 将应用拆分成多个独立的微服务,每个微服务运行在独立的容器中,提高可扩展性和维护性。
  3. 持续集成与持续部署(CI/CD)

    • 结合Jenkins、GitLab CI等工具,实现自动化测试和部署,提高开发效率。
  4. 云计算和PaaS

    • 许多云平台(如AWS ECS、Google Kubernetes Engine)都支持Docker,方便部署云原生应用。
  5. 大数据和人工智能

    • 运行Hadoop、Spark等大数据框架,或封装AI模型,保证环境一致性,方便迁移和部署。
  6. 混合云和多云部署

    • 由于Docker的可移植性,可以轻松在本地、私有云、公有云之间迁移应用,避免供应商锁定。
  7. 边缘计算和物联网(IoT)

    • 轻量级容器适用于资源有限的边缘设备,如智能网关、工业控制系统等。
  8. 传统应用现代化

    • 通过容器化,将老旧的单体应用迁移到现代化的基础设施,提高可维护性和可扩展性。

安装

在 Windows 上安装 Docker 主要有两种方式,具体取决于你的 Windows 版本:

  1. Windows 10/11 专业版、企业版、教育版(支持 Hyper-V) → 直接安装 Docker Desktop
  2. Windows 10/11 家庭版(不支持 Hyper-V) → 需要启用 WSL 2 并安装 Docker Desktop

方法 1:Windows 10/11 专业版、企业版、教育版(推荐)

步骤 1:启用 Hyper-V 和容器功能

  1. 打开 PowerShell(管理员模式) ,运行:

    powershell 复制代码
    dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
    dism.exe /online /enable-feature /featurename:Containers /all /norestart
  2. 重启电脑

步骤 2:下载 Docker Desktop

步骤 3:安装 Docker Desktop

  1. 运行安装程序,勾选 "Enable Windows Containers"(可选)
  2. 安装完成后 重启电脑
  3. 启动 Docker Desktop,进入 Settings
    • 如果使用 Windows 容器 :切换到 Windows Containers 模式(默认是 Linux)
    • 如果使用 Linux 容器(推荐):确保 WSL 2 后端已启用

步骤 4:验证安装

打开 PowerShell命令行,运行:

sh 复制代码
docker version
docker run hello-world

如果输出 Hello from Docker!,则安装成功!


方法 2:Windows 10/11 家庭版(需要 WSL 2)

步骤 1:启用 WSL 2

  1. 打开 PowerShell(管理员模式),运行:

    powershell 复制代码
    wsl --install

    安装成功如下:记得最好用管理员来运行powershell

  2. 安装 Ubuntu 发行版(建议,可不执行这步):

    powershell 复制代码
    wsl --set-default-version 2
  3. 重启电脑

步骤 2:安装 Docker Desktop

步骤 3:配置 Docker 使用 WSL 2

  1. 打开 Docker Desktop
  2. Settings → General ,勾选 Use the WSL 2 based engine
  3. Settings → Resources → WSL Integration,启用 Ubuntu

步骤 4:验证安装

WSL 终端PowerShell 运行:

sh 复制代码
docker run hello-world

如果成功打印 Hello from Docker!,则安装完成!


问题排查

如果 Docker 无法启动,可能的解决方法:

  • 确保 BIOS 中已开启 虚拟化(VT-x / AMD-V)
  • 运行 wsl --update 更新 WSL 2
  • 检查 Windows 是否启用了 Hyper-V 或 WSL 2(systeminfo 查看)

常见问题

1 修改默认安装路径(建议不要修改,可能会出现无法运行)

Docker Desktop 官方安装程序不支持直接选择安装路径 ,它会默认安装到 C:\Program Files\Docker。但你可以使用以下方法修改默认安装路径 ,将 Docker 安装到指定磁盘(如 D:\Docker)。


方法 1:使用符号链接(适用于已安装的 Docker)

如果你已经安装了 Docker,可以通过符号链接将安装目录移动到其他磁盘。

步骤

  1. 关闭 Docker Desktop

    powershell 复制代码
    taskkill /F /IM "Docker Desktop.exe"
  2. 移动 Docker 安装目录

    powershell 复制代码
    move "C:\Program Files\Docker" "D:\Docker"
  3. 创建符号链接

    powershell 复制代码
    mklink /J "C:\Program Files\Docker" "D:\Docker"
  4. 重新启动 Docker

    • 在开始菜单中搜索 Docker Desktop 并打开,确认是否正常运行。

方法 2:手动修改 Windows 安装路径(适用于未安装的 Docker)

Docker Desktop 没有安装路径选项,但你可以使用 mklink 在安装前创建符号链接

步骤

  1. 卸载 Docker(如果已安装)

    • 打开 "控制面板" → "程序与功能"
    • 找到 Docker Desktop ,点击 "卸载"
  2. 删除 Docker 残留文件

    • 删除 C:\Program Files\Docker
    • 删除 C:\Users\<YourUser>\AppData\Local\Docker
    • 删除 C:\Users\<YourUser>\AppData\Roaming\Docker
  3. 创建符号链接

    • 打开Cmd(管理员模式) ,运行:

      powershell 复制代码
      mklink /J "C:\Program Files\Docker" "D:\Docker"
  4. 重新安装 Docker

    • 下载 Docker Desktop 安装程序,并安装,它会被自动重定向到 D:\Docker

方法 3:使用 ScoopChocolatey 进行自定义安装

如果你不想手动操作,可以使用 ScoopChocolatey(Windows 包管理器)安装 Docker,并指定路径。

使用 Scoop

  1. 安装 Scoop(如果未安装):

    powershell 复制代码
    iwr -useb get.scoop.sh | iex
  2. 安装 Docker 并指定路径

    powershell 复制代码
    scoop install docker --dir D:\Docker

使用 Chocolatey

  1. 安装 Chocolatey (如果未安装):

    powershell 复制代码
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  2. 安装 Docker 并指定路径

    powershell 复制代码
    choco install docker-desktop -y --install-directory D:\Docker

总结

方法 适用情况 复杂度 备注
方法 1:符号链接 已安装 Docker ⭐⭐ 适用于迁移安装目录
方法 2:符号链接+重新安装 未安装 Docker ⭐⭐⭐ 适用于新安装
方法 3:使用 Scoop/Chocolatey 自动化安装 ⭐⭐⭐⭐ 适合喜欢命令行的用户

如果你已经安装 Docker,推荐 方法 1 ;如果要全新安装,方法 2 或 3 更合适。 🚀

更改Docker镜像存储位置

在 Windows 上安装 Docker Desktop 时,默认情况下它会安装到 C:\Program Files\Docker,但 Docker 容器和镜像的存储路径位于 C:\Users\<YourUser>\AppData\Local\Docker。如果你的 C: 盘空间不足,你可以手动更改 Docker 数据的存储路径到其他磁盘(如 D:E:)。


在 Docker Desktop 设置中更改存储位置(推荐)

Docker Desktop 提供了更改 容器、镜像等数据存储位置 的选项,而安装路径仍会保持在 C: 盘。

  1. 打开 Docker Desktop
  2. 进入 Settings(设置) → Advanced(高级)
  3. 找到 "Disk image location"(磁盘映像位置)
  4. 点击 Browse (浏览),选择你要存储 Docker 数据的磁盘和路径,例如 D:\DockerData
  5. 点击 "Apply & Restart"(应用并重启)

这样,Docker 的容器和镜像数据就会存储在 D:\DockerData,而不是 C: 盘。

相关推荐
Java程序之猿14 分钟前
Docker 部署Spring boot + Vue(若依为例)
vue.js·spring boot·docker
牛角挣扎录1 小时前
Docker 入门:核心概念与工作原理
docker·容器
莫扎特不唱摇篮曲2 小时前
stable-diffusion-webui-docker 构建 comfy-ui
docker·stable diffusion·comfy
泡泡里的月亮5 小时前
【docker】Windows10启动Docker Desktop - WSL update failed
运维·docker·语言模型·容器
黑子哥呢?8 小时前
docker安装教程并且配置华为云加速
docker·云原生
7年老菜鸡8 小时前
docker构建镜像时总会有部分文件没有被更新,解决办法
运维·docker·容器
黑风风10 小时前
Ubuntu中为curl和Docker配置代理
linux·ubuntu·docker
无码不欢的我10 小时前
在windows10系统上安装docker,然后在容器中运行GPU版本的Pytorch,并使用vscode连接该容器
pytorch·vscode·docker
m0_5157904112 小时前
Deepseek -> 如何写 Dockerfile
docker