当前位置: 代码网 > 服务器>服务器>Linux > windows10 上安装 docker

windows10 上安装 docker

2024年07月28日 Linux 我要评论
Boot2Docker 是一个轻量级的 Linux 发行版,专门用于运行 Docker 容器。它完全从 RAM 运行,只需要大约 45MB 的下载量并且可以快速启动。其核心就是一个 boot2docker.iso 镜像文件。在非linux平台(比如mac或windows)中,通常需要跟virtualbox配合,先创建一个linux虚拟机,在虚拟机上跑boot2docker这个linux系统,然后linux系统里面运行docker。

windows 10 上安装 docker

官方目前给的方案是利用 docker desktop 来安装 docker 环境

一、安装前准备工作

1.1 检查系统要求

  • windows 10 64 位:home 或 pro 2004(内部版本 19041)或更高版本,或者 enterprise 或 education 1909(内部版本 18363)或更高版本。
  • 在 windows 上启用 wsl 2 (适用于 linux 的 windows 子系统)功能。
  • 要在 windows 10 上成功运行 wsl 2,需要满足以下硬件先决条件:
  • 具有二级地址转换 (slat) 的64 位处理器(可下载微软官方coreinfo工具检测)
  • 4gb 系统内存
  • 启用硬件虚拟化支持。
  • 下载并安装 linux kernel 升级包

1.2 启用硬件虚拟化支持

右键开始打开【应用和功能(f)】-->程序和功能-->启用或关闭windows功能-->【适用于linux的windows子系统】和【虚拟机平台】打勾。

点击确认后会提示重启电脑,重启过程可能需要占用较长的时间(15-30分钟),请耐心等待。

重启完成后,打开任务管理器-->性能,查看虚拟化是否已启用:

1.3 下载并安装linux kernel升级包

参考资料:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package

在windows cmd中使用systeminfo查看系统类型,根据x64或者arm64下载不同的内核更新包

开始安装:

二、下载安装docker desktop

完成安装前准备后,下载并安装docker desktop,可以从官方下载 https://desktop.docker.com/win/stable/amd64/docker%20desktop%20installer.exe

下载完成后双击 docker desktop installer,直接点击 ok 开始安装:

待安装完成之后,重启计算机

重启完成后,双击桌面docker desktop启动

三、在windows下使用docker

1.利用powershell

打开 powershell,启动一个镜像

docker run -d -p 80:80 docker/getting-started

查看镜像和容器

docker images
docker container ls -a

2.使用docker desktop上的图形化界面

还可以直接在docker desktop操作镜像:

查看运行的容器:

还可以设置镜像加速地址和本地镜像仓库:

四、docker镜像存储位置修改

wsl 2管理下的docker镜像会默认存放在c盘,长期可能会导致c盘空间不足,所以最好进行文件的迁移

1.了解 wsl 子系统

wsl 是 windows subsystem for linux 的简写,指的是 windows10 的一个子系统,这个子系统的作用是在 windows下运行 linux 操作系统。现在有两个版本,分别为 wsl 1 和 wsl 2。

wsl 和虚拟机从表面上看起来是有点类似,都可以运行 linux 操作系统,但实际上有所区别:

  • 集成水平:wsl 提供更深入的集成与主机操作系统windows。例如,你可以在windows的文件管理器中直接访问wsl文件系统,也可以在 wsl 中直接运行windows的可执行文件。而虚拟机则创建了一个相对隔离的环境,虽然虚拟机可以访问主机文件系统,但需要特定的设置,并且整体上没有 wsl 那么直接和方便。
  • 性能:wsl 2 使用了一种轻量级的虚拟化技术,但是它的性能通常比全功能的虚拟机更好,特别是在文件系统性能方面。
  • 系统资源消耗:wsl 通常比全功能的虚拟机更节省系统资源。虚拟机需要为每个实例分配固定的内存和磁盘空间,而wsl的资源使用随着需求而动态变化。
  • 系统调用兼容性:wsl 1 通过转换 linux 系统调用到 windows 系统调用,wsl 2 通过提供一个完整的 linux 内核来实现更好的兼容性。但是,一些特定的、高级的 linux 系统调用可能在wsl中无法工作。而虚拟机则提供了一个完全的操作系统环境,可以支持所有的系统调用。
  • 安全隔离:虚拟机提供了一个与主机操作系统隔离的环境,因此通常更安全。虽然 wsl 2 也使用虚拟化技术,但它更加集成在主机操作系统中,因此可能没有虚拟机那么安全。

2.迁移 wsl 2 子系统

docker desktop 在安装的时候创建两个 wsl 子系统,使用命令wsl -l -v查看:

  • docker-desktop 是存放程序的,位置 %localappdata%/docker/wsl
  • docker-desktop-data 是存放镜像的,位置 %localappdata%/docker/wsl/data/ext4.vhdx

这两个 wsl 子系统都是默认放在系统盘的。

  • 步骤一:先关闭docker
  • 步骤二:停止所有子系统
wsl --shutdown
  • 步骤三:导出两个子系统
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar
  • 步骤四:删除现有的子系统
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
  • 步骤五:重新载入 wsl 2 子系统(目标路径自己创建)
wsl --import docker-desktop d:\docker\docker-desktop\ docker-desktop.tar --version 2
wsl --import docker-desktop-data d:\docker\docker-desktop-data\ docker-desktop-data.tar --version 2
  • 注意:
  • docker-desktop 和 docker-desktop-data 不能放在同一个文件夹,需要分别创建目标路径
  • 一定要指定 --version 2 ,否则导入的会时 wsl 而非 wsl 2,从而导致 docker desktop 无法正常启动
  • 步骤六:重新启动docker desktop

五、与boot2docker比较

1.什么是 boot2docker

boot2docker 是一个轻量级的 linux 发行版,专门用于运行 docker 容器。它完全从 ram 运行,只需要大约 45mb 的下载量并且可以快速启动。

其核心就是一个 boot2docker.iso 镜像文件。在非linux平台(比如mac或windows)中,通常需要跟virtualbox配合,先创建一个linux虚拟机,在虚拟机上跑boot2docker这个linux系统,然后linux系统里面运行docker。

2.比较

  • 系统要求
  •   boot2docker需要virtualbox配合运行一个精简linux发行版,不受限于windows的版本
  •   docker desktop 基于 wsl 2 是在一个完整的linux系统上运行,只能在window 10 特定版本以上使用
  • 体量
  •   boot2docker 更加轻量级,占据空间小
  •   docker desktop 相对占用更大的空间
  • 功能
  •   boot2docker 只提供了一个安装了docker的精简版linux环境,主要是设计用来开发环境使用的,不建议应用到任何生产环境
  •   docker desktop 提供完整的linux环境,而且docker desktop还提供了可视化的操作界面,可以快速搭建k8s或swarm集群
  • 支持
  •   boot2docker 官方已经不再维护,同时建议用户向docker desktop迁移
  •   docker desktop 持续维护中
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com