当前位置: 主页 > 建站知识 > 软件开发

软件开发架构-用Docker在本地搭建开发环境有一系列显而易见

发布时间:2023-06-26 11:12   浏览次数:次   作者:佚名

来源:segmentfault.com/a/1538729559616307

以前要在本地跑一些有意思的工程和实验,都需要通过在本地装上一大堆软件来实现。最近发现有一种更酷的方式:Docker。

用Docker在本地搭建开发环境有一系列显而易见的优势:

Docker 搭建的环境为什么能做到以上优势

道理其实很简单软件开发架构,使用Docker Desktop在本地起一个虚拟机,然后在虚拟机里跑Docker。这样所有的安装和启停变更都发生在虚拟环境里,自然而然的就带来了以上优势。

安装基础环境

软件开发架构_java cs架构开发_android开发架构设计

下载Docker Desktop,安装过程踩了两个雷:

WSL2 Linux 内核更新包

Docker Desktop requires a newer WSL kernel version

这个报错是字面意思,需要更新内核版本。下载WSL2 Linux 内核更新包即可:

java cs架构开发_软件开发架构_android开发架构设计

Docker容器运行需要依赖虚拟化

Hardware assisted virtualization and data execution protection must be enabled in the BIOS

这个报错是因为BIOS里没有把对虚拟化的支持打开软件开发架构,重启进入BIOS,打开虚拟化相关配置即可。

运行你的第一个容器

软件开发架构_android开发架构设计_java cs架构开发

安装完毕之后就可以用了。Docker Desktop的首页非常简洁明了。

0312a26dbf09a86eae3eea1f523cd13e.png

Guides里有三个示例,大大的Run,点下去就可以快捷的体验本地服务了。这里我们启动Nginx试试。

3fcb2b17e0f11d87d8c3774466f5f071.png

java cs架构开发_android开发架构设计_软件开发架构

切换到Terminal Tab可以对容器发出指令

099961ea15cc23c02b451b86b6937d8a.png

这种起服务的方式,我觉得比以前挨个安装软件的方式确实爽太多了。

至此Docker所需的环境已经搭建成功了,但是距离我们搭建一个很酷的本地开发环境还差得远。因为还有一连串的问题等着我们。

软件开发架构_java cs架构开发_android开发架构设计

比如我们再深入玩一下刚才启动的Nginx容器,就会发现有很多指令找不到,这对于我们在本地调试是不可接受的。

e245d2fe52658e0617f236de9ec8780f.png

再比如需要部署到Nginx的制品如何与本地文件映射,本地启动多个依赖服务时网络与端口如何管理。以及针对不同的本地开发所需要依赖的资源和服务,可能需要通过自行build docker file的方式才能让他们在本地用起来更加丝滑和酷炫。这些问题,我们留到后文再续。

你在本地做开发的时候,是怎么搭建和管理自己的环境呢?欢迎留言讨论。

END

98223370efe34fec3b61a943a5a485f6.png