当前位置: 首页 > news >正文

微服务实战系列之玩转Docker(二)

前言

上一篇,博主对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

在这里插入图片描述

相关文章:

  • redis基本类型和订阅
  • 数据结构之初始二叉树(2)
  • docker网络互联
  • 机器学习-20-基于交互式web应用框架streamlit的基础使用教程
  • 企业如何查看员工的上网时长和记录?如何查看公司局域网员工电脑的上网记录
  • uniapp 开发 App 对接官方更新功能
  • 【Android】基础—基本布局
  • 校验el-table中表单项
  • Flink实时开发添加水印的案例分析
  • 【Qt】之【Bug】error:C1083 无法打开包括文件
  • 第七章 单片机的串行口
  • 小程序为什么要做分包处理
  • [Unity]碰撞器的接触捕获层详解
  • springboot 重新注册 bean
  • 【C语言】全面解析冒泡排序
  • @jsonView过滤属性
  • 【前端学习】-粗谈选择器
  • Android 控件背景颜色处理
  • C++类中的特殊成员函数
  • classpath对获取配置文件的影响
  • echarts花样作死的坑
  • in typeof instanceof ===这些运算符有什么作用
  • Invalidate和postInvalidate的区别
  • JavaScript 奇技淫巧
  • Javascript编码规范
  • Linux Process Manage
  • Median of Two Sorted Arrays
  • 创建一个Struts2项目maven 方式
  • 基于axios的vue插件,让http请求更简单
  • 码农张的Bug人生 - 见面之礼
  • 前端面试总结(at, md)
  • 前嗅ForeSpider采集配置界面介绍
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 用简单代码看卷积组块发展
  • 智能合约Solidity教程-事件和日志(一)
  • 《天龙八部3D》Unity技术方案揭秘
  • (2)STL算法之元素计数
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (C语言)逆序输出字符串
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (十) 初识 Docker file
  • (十)Flink Table API 和 SQL 基本概念
  • (源码分析)springsecurity认证授权
  • (转)母版页和相对路径
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 8.0 中有哪些新的变化?
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET8使用VS2022打包Docker镜像
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET面试题(二)
  • .NET中GET与SET的用法