Docker 系列之 DockerDesktop 初步安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

用简单的话来讲,它就是一个轻量级的虚拟机,类似于 VMware Workstation 和 VirtualBox 的轻量版,没有那么重(Docker 只有几十 M 左右,虚拟机都上 G 的大小),当然,对于 linux 系统来讲,它就是基于 linux 自身的一个虚拟机,所以,启动快,运行也快,但是,资源(cpu,内存,网络,存储)都是隔离的,现在 Windows 也有这样的概念吧,它就是容器,应该跟 Docker 是一个概念,所以,现在有 Linux 容器和 Windows 容器两种容器(Windows 的容器太大,我试了都几个 G)。

DockerDesktop,不仅仅可以在 Windwos(Win10++)安装,其实现在也可以在 MAC 和 Linux 里安装,参考地址[1]。

7c59fd9abe3052e4bf459980a83e5f9f.png

开发的时候,用 Visual Studio 2022 之类的 IDE 是可以把服务直接运行到 Docker 服务里的,所以,在开发的机器上安装一个适用的 Docker,在日常工作中,也是十分的方便的。

特别是,我想安装一个数据库,又想安装一个 Redis 和 Nginx,但是,又不想它们与我的系统之间有太多的交叉联系,那么,就可以用 Docker 来实现这些服务的隔离,不用了,直接结束了就好,省的,它还在后台一直运行(类似,Mysql)。

所以,从隔离性上来讲,Docker 是一个很方便的服务,用着也方便。

DockerDestop 的安装

分为两个步骤,第一个是设置好 WSL2 的环境,第二个就是下载 DockerDesktop 应用。

设置好 WSL2 (Windows Subsystem for Linux) 的环境(Windows 子系统和 hyper-v)

windows 桌面端的 docker 是基于 Windows 子系统(WSL2)的,所以,得把这个功能从控制面板里打开(Hyper-v不开启也是可以的)。

50403eb893baaea395f77d8ea5245560.png

同时要打开的还有 Hyper-V 功能。(注:最新版的 VMware Workstation 是可以与 Hyper-V 共存的)

配置后,会重启电脑,按照提示保存好重要的资料,重启即可。

也可以通过以下 PowerShell 或 CMD 命令来实现

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

开启了功能后,还是需要安装具体的 linux 系统,我这边是通过 Microsoft Store 里搜索 Ubuntu 22.04 LTS 进行安装的, Ubuntu 22.04 LTS 是通过控制台方块字进行操作的,也可以下载 Ubuntu 20.04 LTS 版本或者 18 版本。

c71d832bbfc00cadce661b545ff2a353.png

如果 Microsoft Store 打不开,或者太慢,也可以通过链接通过迅雷等工具下载,速度也挺快,

1eae220fbaa0e78aa6324d455df0b6cb.png

地址就在参考地址里(参考地址[2])。

离线下载完之后(Ubuntu2204-220620.AppxBundle),是这样子的,打开后,跟 Microsoft Store 打开是一样的。

278869d116334d63e82cfb9c0aade176.png

运行后,就到了这个界面

21a438d40b9f28ab54941ed31da43c32.png

然后选择,所需的语言,我直接选中文了。

70f41fd7892064d1f46114f6526697e4.png

然后,选择,账号和密码,自己设置一个

7d733226b44f2ced9ce4a69c9b1fd79f.png

然后,就是所挂载的目录,默认就可以了。

12ab6193127088a2bb3da9f92b09cc12.png

然后,开始应用你自己的更改,开始安装了。

d91ea6328d0fcd85a90ca99f874bc0ef.png

安装完毕,然后,重启

883ba70019021cf4a1da9376e609e46d.png

安装成功,欧耶

0a26978f0d0a5d6f15e8e99678099d5b.png

至此,WSL 已经安装成功了,但是,还要设置成 WSL2 模式,可以通过以下命令。

wsl //进去子系统,也就是从cmd进入到 linux的 bin命令行
 wsl -l  -v //查看所有安装的子系统,可以有多个
 wsl -s  name //  wsl -s  ubuntu 设置 ubuntu为默认子系统
 wsl --set-default-version X  // wsl --set-default-version 2 设置默认系统为 2也就是WLS2
 wsl --set-version ubuntu X  // wsl --set-version ubuntu 2 设置指定子系统版本为2
 wsl --status  //查看当前子系统状态
 wsl --list --verbose  // 可简写为 wsl -l -v,非常常用!
 wsl --unregister ubuntu // 移除某个子系统

先执行以下命令

wsl --set-default-version 2

通过查询命令可以看到,已经开启了 wsl2 功能

ecb80c53250aae6d57f1bde3f90020b5.png

安装 DockerDesktop 应用服务

可以直接在链接[1]主页进行下载。

42ac71aa1fc5832e2548cb7f37c08989.png

直接就开始解压了。

e75c2d373bc1f8d9b8235c88e5ec8d90.png

直接就安装完成了

d4af5b263446b45c240b3af7f4d789d6.png

桌面有快捷方式,直接双击打开即可。

02538adddf11c3798743db3047662488.png

我直接就接受了

eb399a22ca578125be5d9aabd2bad4eb.png

默认开始启动(启动的时候,如果有报错,可以复制报错信息到网上搜一下,大部分都是没有配置好导致的,也可以从头到尾再来一遍)

38e0ae577f25ba52eac2c0117fd834ba.png

现在已经安装OK了。

baacf1bad0b79e9d756da34c3024ee06.png

现在这个版本还有引导页

step1

185682abd7e8ab97d46e4b1bd08810bf.png

step2

d296c2de7bfae8ce70aa64c9dcc678e5.png

step3

001852157441308b94ea84b11b8555b1.png

step4

1be73758aaab2c836fe284971b4d84f1.png

至此,DockerDesktop Windows版,已经安装完毕了。

e8d6c280df8dc9fb01f940bf10bcc527.png

配置镜像地址

大部分用户都是中国的用户,所以,还是需要更改一下镜像地址为国内,这样,下载镜像速度会快许多,当然,如果有科技,那另说。

修改配置内容为 下面的内容即可

212cdcb4fd922b4ad1d229c3ef8b193e.png
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://1rlt72n0.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://mirror.ccs.tencentyun.com",
    "https://mirror.baidubce.com"
  ]
}

用docker 运行起来一个应用服务

我这边就以Mysql为例,运行一个Mysql服务,账号root,密码123456。

docker run -p 3306:3306 --name mysql -v /d/dockerConfig/mysql/data:/var/lib/mysql -v /d/dockerConfig/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql

此命令会把存储的数据映射到本地D盘,防止数据丢失,因为运行在docker里,docker没了,数据就没了。

fa7720115aa4ed77785c393596245003.png

直接控制台执行即可.

0f84030c656c25818baa49c4e8ed6ffa.png

没有镜像,它会直接从hub.docker.com上拉取,然后,运行起来,如果本地有镜像,就会直接用本地的

ee9bb163795da0aff2955398a476fa18.png

红线的那一行是容器ID,至此服务已经运行起来了,我们也可以通过 DockerDesktop 应用查看.

可以看到容器里已经有了mysql服务,

1e791556930cf554e7effead08073295.png

这个容器界面可以对容器进行,删除,暂停,启动,以及进入到容器内部的命令控制台里。

当然,直接选中此容器,就会查看容器运行的日志信息。

49d979b933747f30372a3b867f3c7647.png

控制台信息

d1468cb645d7f5f61eeb27db1ebfe38e.png

日志信息

51be36db0db6a77a6a97eb8d7922f999.png

端口映射,网络,等信息

3fc6da8d505bf7fe0309d8925bf23950.png

查看当前应用的状态等信息

3921b1d6cb4296f38e9ed0dab336435e.png

镜像里也有mysql镜像了,下一次使用,就不用重新下载镜像了

5392b682294767a8750655751ce1bec2.png

通过Dbeaver 连接 Mysql

1f0d768d488aa618ce0ffb6f09937995.png

可以连接上,还是上次我存储的数据,数据也米有丢失。

总结

一直想写个关于Docker相关的文,这次写的比较完善了,如果捋不顺,那就按照官方的来。

Docker的潜力,不仅仅在于开发侧,我个人认为在应用侧也有它的潜力,毕竟,现在Win10++系统也不少,那么,每个系统如果都有docker,那完全可以玩着游戏,玩docker,甚至可以windows端docker 分布式和集群的支持。让一个算力复杂的任务,分配给多个闲散客户端主机,成为可能。

一键三连呦!,感谢大佬的支持,您的支持就是我的动力!

参考资料地址

[1] https://www.docker.com/

[2] https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值