以前,要在本地运行一些有趣的项目和实验,需要在本地安装很多软件。最近发现有一个更酷的方式:Docker。使用Docker在本地搭建开发环境有一系列明显的优势:无需依赖公司资源,开发机资源充足,环境完备可控,想玩就玩,随心所欲不用担心会留下痕迹,也不会影响到别人。镜像屏蔽了安装过程中的所有陷阱,让你不用担心安装过程中各种乱七八糟的报错,在虚拟环境下运行服务完全没有心理门槛。最后,您可以运行所有要在本地安装的中间件或服务。关键是Docker搭建的环境为什么能达到以上优势。原因其实很简单。使用DockerDesktop在本地启动一个虚拟机,然后在虚拟机中运行Docker。这样一来,所有的安装和启停变化都发生在虚拟环境中,自然带来了上述优势。安装基础环境并下载DockerDesktop,安装过程踩了两个地雷:WSL2Linux内核更新包DockerDesktoprequiresanewerWSLkernelversion这个错误字面意思就是需要更新内核版本。只需下载WSL2Linux内核更新包:地址Docker容器运行需要依赖虚拟化HardwareassistedvirtualizationanddataexecutionprotectionmustenableintheBIOSmustenablethesupportforvirtualizationintheBIOS.虚拟化相关的配置就足够了。运行您的第一个容器,它在安装后就可以使用了。DockerDesktop的主页非常简洁明了。Guides里面有三个例子,大Run,点击可以快速体验本地服务。这里我们启动Nginx来试试。切换到TerminalTab可以向容器下发指令,这是一种服务方式。我觉得比以前一个一个安装软件的方法爽快多了。至此,Docker所需的环境已经搭建成功,但是我们距离搭建一个炫酷的本地开发环境还有很长的路要走。因为还有一系列的问题在等着我们。比如我们玩玩刚启动的Nginx容器,会发现很多指令找不到,这对于我们本地调试来说是无法接受的。再比如如何将需要部署的产品用本地文件映射到Nginx,以及在本地启动多个依赖服务时如何管理网络和端口。以及不同本地开发需要依赖的资源和服务,可能还需要自己构建docker文件,让它们在本地使用起来更加丝滑和爽快。我们将这些问题留给下一节。当你在本地开发时,你如何构建和管理自己的环境?欢迎留言讨论。
