【devops系列】一文了解Docker Desktop
安装docker desktop
虚拟化
第一步:确认虚拟化功能在BIOS中已经被开启
进入电脑BIOS,在Advance(高级)设置中,可以看到虚拟化技术相关的选项,如Intel的CPU,将Intel-VTX/Intel-VTD开启(Enable)即可。一般只要CPU支持虚拟化技术,这项设置都是默认打开的。
bios 中开启,具体笔记本怎么开启百度。
开启后:可以在任务管理器找到虚拟化已启动字样
Hyper-V
windows11家庭版,官网手册
第二步:创建批处理文件
在桌面新建一个文本文档,将以下代码复制进去并保存
1 | pushd "%~dp0" |
然后将此文件命名为“Hyper-V.bat”,注意后缀为.bat文件,而不是文档名中包含.bat
第三步:执行Hyper-V.bat进行安装
右击刚才新建的批处理文件,选择“以管理员方式运行”
安装过程需要几分钟时间,耐心等待……不要强行中断。当看到“操作成功完成,重新启动Windows以完成该操作”的提示之后,我们在光标处输入字母“Y”,回车,重启电脑。
第四步:启用Hyper-V
在控制面板找到或者搜索“启用或关闭Windows功能”, 将Hyper-V相关功能都勾上。
第五步:启动Hyper-V
搜索到Hyper-V管理器并打开,即可使用。
最后,从docker官网下载Windows桌面版,无脑安装即可。
wsl2
升级wsl,设置为wsl2
执行wsl -l -v
,如果要更新则更新
管理员执行以下命令
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
然后重启电脑。
1 | # 查看 wsl 相关内容的版本 |
商店安装Ubuntu20,查看dos,可以像使用虚拟机一样用Ubuntu
效果: 以后直接在windows就可以直接使用ubuntu子系统了,跟linux一样。
安装desktop
- 官网下载,一路安装即可
- 注册 docker hub
跟着官网的教学步骤走一遍
界面上输入命令可以在这里输入:
或者使用cmd等windows自带的命令窗口
- 如果拉取不到镜像,
docker login -u 注册邮箱
,登录好后就行了。
微软搞docker desktop的目的
Docker Desktop是可以部署在windows运行docker的应用服务,其基于windos的Hyper-V服务和WSL2内核在windos上创建一个子系统(linux),从而实现在windows上运行docker。
效果: 在windows上开发项目,然后用到的资源直接用docker desktop 搞些容器环境,舒服的很。而且在windows里直接无感使用docker命令,很舒服
docker desktop 配置镜像源
有科学上网可忽略这个步骤
Docker Desktop默认去 hub.docker.com 去下载软件镜像,配置国内源
1 | { |
添加到这里:
安装的docker以及linux系统目录在:
1 | C:\Users\53409\AppData\Local\Docker\wsl\data |
至此就可以很方便快速的用界面管理docker的使用了,至于其他的安装可以看linux docker安装
修改容器的配置文件
直接进容器里修改,具体改什么可以到docker hub官网查看
实际安装在windows里面的linux盘,读不了的
在这里可以访问:
关于数据挂载
后面只要将数据挂载出去,不用关心实际挂载哪里,很方便
wsl 真的帅,虚拟机我已经卸载了
关于容器版本
应用 tag 的区别:
- **
latest
**:默认最新版本,但不一定是最新发布的,适合开发,生产中慎用。 - 语义化版本号(
x.y.z
):明确的稳定版本,适合生产环境。 - 主要/次版本号(
x
或x.y
):某个版本范围内的最新状态。 - 环境标识(
alpine
,slim
, 等):区分镜像基础环境,alpine
轻量,slim
精简。 - 特殊标识(
rc
,beta
,debug
):非正式版本,用于测试或调试。 - 日期/时间戳:标记构建日期,用于时间追溯。
选择依据:
- 开发 用
latest
或测试版, - 生产 固定具体版本(如
x.y.z
), - 轻量化 选
alpine
。
以 Nginx 镜像为例:
nginx:latest
:最新稳定版。nginx:1.23.0
:版本 1.23.0。nginx:alpine
:基于 Alpine Linux 的最新版本。nginx:1.23.0-alpine
:版本 1.23.0,基于 Alpine。nginx:mainline
:开发主线的最新版本(用于测试)。