Windows安装Docker

简介: Windows安装Docker

Docker为我们在服务器上部署应用程序提供了很大的便利,并使得我们能够更好地管理我们部署的应用程序以及一些中间件等等。

不过我们通常在Windows上面进行开发的时候,也需要在本地安装数据库、部分中间件等等,安装多了也很麻烦,或者是开虚拟机模拟一个服务器,这导致了很大的性能开销。

因此,在Windows电脑上面安装Docker,并在本地也将开发调试用的数据库、中间件等容器化管理,是一个非常好的选择。

1,安装WSL2内核

通常Docker Desktop可以使用WSL2或者Hyper-V作为其核心以运行容器,不过官方更加推荐使用WSL2,因为性能更好,因此在安装Docker Desktop之前,最好是先安装一下WSL2内核。

如果之前安装过WSL并使用过子系统,这一步可以跳过。

在安装WSL2内核之前,记得先去主板BIOS设置中开启CPU虚拟化功能(Intel主板是VT,AMD主板是SVM),否则会导致安装失败或者内核启动失败,这里就不再赘述如何开启了,非常简单的,大家自行查阅即可。

然后在Windows中打开cmd或者其它终端,输入WSL2的安装命令:

wsl --install --no-distribution

可见我们安装时加上了--no-distribution参数,表示仅安装内核而不安装任何发行版文件,因为Docker Desktop只是依赖于WSL2内核,不需要任何发行版文件。

等待安装完成后,会提示你重启:

1.png

重启电脑,WSL2内核就安装完成了!

如果说执行上述安装命令时,报错没有--no-distribution选项并输出了很多帮助提示信息,说明你已经安装过WSL2内核了,不需要再重复安装,直接进行下一步安装Docker Desktop即可。

2,安装Docker Desktop

进入官方下载页面,下载Windows版的:

image.png

然后安装,安装时将这两个选项都勾选上:

1.png

等待安装完成:

2.png

第一次安装会提示要重启,点击安装完成界面的Close and restart按钮重启电脑。

重启完成电脑后,Docker Desktop就会自动开启,第一次使用会弹出同意协议的窗口,点击Accept按钮即可,然后进入主界面会显示正在启动Docker Engine,初次启动会要一点时间,耐心等待即可。

3,一些设置

打开Docker Desktop后,点击右上角齿轮图标即可进入设置。

image.png

(1) 开机自启等常用配置

General选项卡中,勾选下图第一个选项Start Docker Desktop when you log in,即可开机自启动,推荐打开开机自启动,这样一开机就可以访问我们一些容器的服务。

8.png

在这个页面,还有下列配置建议设定:

  • Send usage statistics 发送错误报告,可以取消勾选
  • Show weekly tips 显示每周小提示,建议取消勾选
  • Open Desktop Dashboard at startup 每次启动Docker就弹出主面板,建议取消勾选,需要用的时候再在任务栏打开更好

(2) 国内镜像源配置

拉取镜像通常速度很慢,因为镜像仓库位于国外,这时我们配置一下阿里云加速即可。

首先进入这个链接:https://cr.console.aliyun.com/ ,登录自己的阿里云账户,在左侧容器工具-镜像加速器中,复制自己的加速器地址:

image.png

然后进入Docker Engine选项卡,可见右侧JSON内容就是配置文件:

9.png

在里面添加一个镜像源字段:

"registry-mirrors": ["你的容器加速地址"]

最终如下:

10.png

注意registry-mirrors的位置!

(3) 自动更新设置

Software updates选项卡中,可以手动检查更新,并且设定是否允许自动检查和下载更新:

image.png

最后,点击右下角Apply & restart按钮即可保存配置。

4,使用docker命令

到此,我们就可以正常使用Docker了!打开命令行或者cmd,即可在里面使用docker命令。

如果仍然提示命令不存在,则将下列路径加入Path环境变量:

C:\Program Files\Docker\Docker\resources\bin

这里命令和在Linux上是一模一样的。这里大家就可以试试去创建一个MySQL镜像运行在本地电脑上并自己连接了!还有其它数据库、中间件等都可以在本地容器化管理,容器端口映射出来后访问127.0.0.1的对应端口,即可访问到对应容器。

5,访问数据卷

在Windows中挂载的数据卷,都是存放在WSL虚拟机中的。我们通过命令行看到的数据卷仍然是Linux路径格式:

image.png

不过我们仍然可以访问,所有的数据卷都存放在\\wsl$\docker-desktop-data\data\docker\volumes路径下,把这个路径粘贴到此电脑(资源管理器)上面地址栏中回车即可:

image.png

可以看到我们的具名数据卷,进入可以修改或者增加删除文件等等。

6,彻底清空所有镜像和容器数据

大家如果使用了很长时间的Docker Desktop会发现,即使删除了所有的镜像和容器,Docker的数据映像仍然会占用很大的空间,这是因为使用过程中产生的数据缓存仍然会存放在Docker Desktop的数据映像中无法删除。

事实上,Docker Desktop是基于WSL2的,它将容器和镜像存放在一个WSL2发行版中运行的。我们可以通过WSL2的命令完全移除发行版以达到清空数据的目的。

执行wsl -l命令,可以看到Docker Desktop有两个对应的发行版:

image.png

这两个发行版是Docker Desktop内置的,作用如下:

  • docker-desktop 存放和运行Docker Engine本体
  • docker-desktop-data 存放所有的镜像和容器

先退出Docker Desktop,然后在命令行终端中执行下列命令移除发行版即可:

wsl --unregister docker-desktop-data
wsl --unregister docker-desktop

显示注销成功,则说明清除完成!这样所有的Docker数据就被彻底删除了!

再次启动Docker Desktop,程序会重新创建并初始化这两个新的干净的发行版,不影响后续正常使用。

7,修改镜像和容器的存放位置

Docker Desktop默认情况下只能安装在C盘,并且其镜像和容器也是以vhdx虚拟磁盘映像的形式存放在C盘的,随着镜像和容器的数量增加,C盘的空间也会越来越不够用。

虽然暂时无法改变Docker Desktop的安装位置,但是我们仍然可以修改镜像和容器的位置的,下面提供两种方式修改数据位置。

(1) 设置页面修改

在设置页面中,找到左侧Resources选项卡,在Advanced选项中,即可修改镜像和容器存放位置:

image.png

修改后Docker Desktop会移动数据,移动过程会花费很长时间,需要耐心等待!

(2) 手动迁移发行版

有的时候使用设置页面修改可能会出现一直加载的情况,无法修改,这时我们可以手动迁移发行版。

在上面我们了解到了docker-desktop-data这个WSL2发行版是用于存放镜像和容器的,我们可以将其导出然后导入到其它位置,实现修改镜像和容器存放位置。

比如说现在我想把存放镜像和容器的发行版移动到E:\Docker目录下,那么先退出Docker Desktop,然后通过下列命令操作:

wsl --export docker-desktop-data "C:\Users\swsk33\Downloads\data.tar"
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data "E:\Docker" "C:\Users\swsk33\Downloads\data.tar"

上述命令中,我们首先把docker-desktop-data发行版导出暂存至了C:\Users\swsk33\Downloads\data.tar,然后注销原发行版,再重新导入并安装至E:\Docker实现迁移。

相关文章
|
11天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
82 42
|
1月前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
297 79
|
4天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
52 20
|
15天前
|
Linux Docker 容器
安装docker-18.06报错Error: libseccomp conflicts with docker-18.06
通过这些步骤,您可以成功在CentOS上安装Docker 18.06,并解决libseccomp的冲突问题。这些方法确保系统兼容性,并保证Docker的正常运行。
52 27
|
4天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
93 15
|
3天前
|
消息中间件 Kafka Docker
docker compose 安装 kafka
通过本文的步骤,您可以快速在本地使用 Docker Compose 安装并配置 Kafka 和 Zookeeper。Docker Compose 简化了多容器应用的管理,方便快速搭建和测试分布式系统。
26 2
|
1月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
122 25
|
1月前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
98 22
|
1月前
|
存储 Cloud Native Java
Windows下Minio的安装以及基本使用
MinIO 是一个开源的云原生分布式对象存储系统,兼容亚马逊S3接口,适合存储大容量非结构化数据。本文介绍Windows下MinIO的安装与基本使用:通过以上步骤,您可以在Windows环境中成功安装并使用MinIO。
147 17
|
2月前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
123 14