👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事中“练” 《互联网高频面试题》:面朝简历学习,春暖花开 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》:系统学习,互联网主流技术栈 《必读 Java 源码专栏》:知其然,知其所以然
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:
Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud 视频教程:https://doc.iocoder.cn 【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本
以前要在本地跑一些有意思的工程和实验,都需要通过在本地装上一大堆软件来实现。最近发现有一种更酷的方式:Docker。
用Docker在本地搭建开发环境有一系列显而易见的优势:
不用依赖公司的资源,开发机资源够够的,环境完整可控,想怎么玩怎么玩,不用担心留痕也完全不会影响别人 能够使用标准化的镜像屏蔽掉一切安装过程的坑,不用担心安装过程中出现的各种乱七八糟的报错 虚拟环境想用即用,不想用了随时丢掉,不用操心清理起来很麻烦 镜像的安装方式大大降低了安装门槛,而且在虚拟环境跑服务完全没有任何心理门槛,终于可以在本地把想安装的中间件或者服务跑全了 酷,重点是酷
Docker 搭建的环境为什么能做到以上优势
道理其实很简单,使用 Docker Desktop 在本地起一个虚拟机,然后在虚拟机里跑Docker。这样所有的安装和启停变更都发生在虚拟环境里,自然而然的就带来了以上优势。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro 视频教程:https://doc.iocoder.cn/video/
安装基础环境
下载 Docker Desktop,安装过程踩了两个雷:
WSL2 Linux 内核更新包
Docker Desktop requires a newer WSL kernel version
这个报错是字面意思,需要更新内核版本。下载 WSL2 Linux 内核更新包即可:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Docker容器运行需要依赖虚拟化
Hardware assisted virtualization and data execution protection must be enabled in the BIOS
这个报错是因为BIOS里没有把对虚拟化的支持打开,重启进入BIOS,打开虚拟化相关配置即可。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud 视频教程:https://doc.iocoder.cn/video/
运行你的第一个容器
安装完毕之后就可以用了。Docker Desktop 的首页非常简洁明了。
Guides里有三个示例,大大的 Run,点下去就可以快捷的体验本地服务了。
这里我们启动Nginx试试。
切换到Terminal Tab可以对容器发出指令
这种起服务的方式,我觉得比以前挨个安装软件的方式确实爽太多了。
至此 Docker 所需的环境已经搭建成功了,但是距离我们搭建一个很酷的本地开发环境还差得远。因为还有一连串的问题等着我们。
比如我们再深入玩一下刚才启动的 Nginx 容器,就会发现有很多指令找不到,这对于我们在本地调试是不可接受的。
再比如需要部署到 Nginx 的制品如何与本地文件映射,本地启动多个依赖服务时网络与端口如何管理。以及针对不同的本地开发所需要依赖的资源和服务,可能需要通过自行build docker file
的方式才能让他们在本地用起来更加丝滑和酷炫。这些问题,我们留到后文再续。
你在本地做开发的时候,是怎么搭建和管理自己的环境呢?欢迎留言讨论。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)