前言
上一篇,博主对Docker
的背景、理念和实现路径进行了简单的阐述。作为云原生技术的核心之一,轻量级的容器Docker,受到业界追捧。因为它抛弃了笨重的OS,也不带Data,可以说,能够留下来的都是打仗的“精锐”
。
趁热打铁,续写新篇,今天继续“玩转”
Docker。既然提到了“玩”
,那就愉快的玩起来吧。怎么玩,且听博主分解。
工欲善其事必先利其器,咱们先选择一个简单的“器”
玩起来,在win下操作docker,获得一些使用体验。
Docker Desktop入门
Docker Desktop是可安装在windows运行的docker桌面操作应用。它基于windows的
Hyper-V
服务并通过WSL 2
在windows上创建一个Linux子系统
实现运行docker的目的。
一、物质基础
如果要运行DockerDesktop,则离不开的两个助手,即Hyper-V和WSL 2。先看看这两是干什么的。
1. Hyper-V
Hyper-V
是 Microsoft 的硬件虚拟化产品。 它用于创建并运行计算机的软件版本,称为“虚拟机”。 每个虚拟机都像一台完整的计算机一样运行操作系统和程序。 如果需要计算资源,虚拟机可提供更大的灵活性、帮助节省时间和金钱,并且与在物理硬件上运行一个操作系统相比,虚拟机可以更高效地使用硬件。
Hyper-V 在自己的隔离空间中运行每个虚拟机,这意味着可以同时在同一硬件上运行多个虚拟机。 你可能希望这样做,以避免崩溃影响其他工作负载等问题,或者为不同的人员、组或服务提供对不同系统的访问权限。
简单讲,就是一个支持硬件虚拟化的产品,通过它可提供docker所需的必要环境。如果需要了解更多,可转向 Hyper-V官方文档。
那么在自己的window上如何安装? 简单,直接开启Hyper-V服务即可。
Step1:打开控制面板—>程序
Step2:开启Hyper-V服务
打√,重启,本节工作完毕。
2. WSL 2
适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验
安装 Linux 发行版时,WSL 2 是默认发行版类型。 WSL 2 使用虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。 Linux 发行版作为独立的容器在 WSL 2 托管 VM 内运行。 通过 WSL 2 运行的 Linux 发行版将共享同一网络命名空间、设备树(而非 /dev/pts)、CPU/内核/内存/交换空间、/init 二进制文件,但有自己的 PID 命名空间、装载命名空间、用户命名空间、Cgroup 命名空间和 init 进程。
也就是你有了虚拟环境,还需要支持在window下使用,必须依赖WSL 2
实现无缝对接。如需了解更多, 可转向:什么是适用于 Linux 的 Windows 子系统?
我们可以下载最新版wsl_update_x64.msi
,安装即可。
二、闪亮登场
完成了物质基础的准备后,我们可以隆重邀请Docker Desktop
,亮个相了。
1. 下载
官网下载太困难,博主已下载了Docker-win.exe
并上传了资源,请转向这里 docker-win。
2. 安装
比较简单,没有特殊要求,一步一步执行即可。重启后完成以下几步:
Step1:验证是否安装成功
打开cmd,输入docker -v
,回车后如出现版本号,则成功。
安装成功后,需要完成一些setting。
Step2:勾选WSL2
Step3:配置docker文件
这里如无特殊要求,关注镜像来源,一般选择国内的镜像。
3. 体验
Step1:Get一个镜像
执行如下命令:
docker run -d -p 80:80 docker/getting-started
我们就可以体验人生第一个docker镜像了。
Step2:启动镜像
获得镜像后,可以通过desktop对它进行各种操作,优先RUN一下吧。
Step3:体验第一个容器
RUN后,我们可以看到第一个Container诞生了。当然如资源自由,你可以多次RUN。
Step4:访问应用程序
通过Container/Apps界面,我们可以直接访问应用程序。示例:http://localhost/tutorial/。
至此大功告成,一个desktop,一个镜像,一个容器就被你高效的创建了。
结语
Docker Desktop是一个简洁、高效、易用的桌面工具。此刻,Window与Linux进行了“握手”
。可见,合作带来双赢,在IT领域的体现的非常显著。
欢迎各位盆友留言指导,学会学懂是我们的必修课。
精彩回顾
- 微服务实战系列之玩转Docker(一)
- 微服务实战系列之云原生
- 微服务实战系列之Filter
- 微服务实战系列之API加密
- 微服务实战系列之Dubbo(下)
- 微服务实战系列之Dubbo(上)
- 微服务实战系列之ZooKeeper(实践篇)
- 微服务实战系列之ZooKeeper(下)
- 微服务实战系列之ZooKeeper(中)
- 微服务实战系列之ZooKeeper(上)
- 微服务实战系列之MQ
- 微服务实战系列之通信
- 微服务实战系列之J2Cache
- 微服务实战系列之Cache(技巧篇)
- 微服务实战系列之MemCache
- 微服务实战系列之EhCache
- 微服务实战系列之Redis
- 微服务实战系列之Cache
- 微服务实战系列之Nginx(技巧篇)
- 微服务实战系列之Nginx
- 微服务实战系列之Feign
- 微服务实战系列之Sentinel
- 微服务实战系列之Token
- 微服务实战系列之Nacos
- 微服务实战系列之Gateway
- 微服务实战系列之加密RSA
- 微服务实战系列之签名Sign