在同事面前炫一把,用 Docker 搭建更酷的本地开发环境

2023-05-16

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

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

  • 不用依赖公司的资源,开发机资源够够的,环境完整可控,想怎么玩怎么玩,不用担心留痕也完全不会影响别人

  • 能够使用标准化的镜像屏蔽掉一切安装过程的坑,不用担心安装过程中出现的各种乱七八糟的报错

  • 虚拟环境想用即用,不想用了随时丢掉,不用操心清理起来很麻烦

  • 镜像的安装方式大大降低了安装门槛,而且在虚拟环境跑服务完全没有任何心理门槛,终于可以在本地把想安装的中间件或者服务跑全了

  • 酷,重点是酷

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

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

安装基础环境

下载 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,打开虚拟化相关配置即可。

运行你的第一个容器

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

5c6daa5378908042586dcd4f0256c825.png

Guides里有三个示例,大大的 Run,点下去就可以快捷的体验本地服务了。

这里我们启动Nginx试试。

161f40b3340c161579774e1c1a2d1ea5.png

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

41c6ff2406260c47a207f743678bc99e.png

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

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

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

1b39f9f742fdfeeb06a321c77d3d561e.png

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

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

来源:segmentfault.com/a/1190000043416307

推荐

Java面试题宝典

技术内卷群,一起来学习!!

b4c9fdd8d12069cc6feeafd881be296b.jpeg

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在同事面前炫一把,用 Docker 搭建更酷的本地开发环境 的相关文章

随机推荐