以前要在本地跑一些有意思的工程和试验,都须要通过在本地装上一大堆软件来实现。最近发现有一种更酷的形式:Docker。
用Docker在本地搭建开发环境有一系列不言而喻的劣势:
- 不必依赖公司的资源,开发机资源够够的,环境残缺可控,想怎么玩怎么玩,不必放心留痕也齐全不会影响他人
- 可能应用标准化的镜像屏蔽掉所有装置过程的坑,不必放心装置过程中呈现的各种乌七八糟的报错
- 虚拟环境想用即用,不想用了随时丢掉,不必操心清理起来很麻烦
- 镜像的装置形式大大降低了装置门槛,而且在虚拟环境跑服务齐全没有任何心理门槛,终于能够在本地把想装置的中间件或者服务跑全了
- 酷,重点是酷
Docker 搭建的环境为什么能做到以上劣势
情理其实很简略,应用Docker Desktop在本地起一个虚拟机,而后在虚拟机里跑Docker。这样所有的装置和启停变更都产生在虚拟环境里,自然而然的就带来了以上劣势。
装置根底环境
下载Docker Desktop,装置过程踩了两个雷:
WSL2 Linux 内核更新包
Docker Desktop requires a newer WSL kernel version
这个报错是字面意思,须要更新内核版本。下载WSL2 Linux 内核更新包即可: 地址
Docker容器运行须要依赖虚拟化
Hardware assisted virtualization and data execution protection must be enabled in the BIOS
这个报错是因为BIOS里没有把对虚拟化的反对关上,重启进入BIOS,关上虚拟化相干配置即可。
运行你的第一个容器
装置结束之后就能够用了。Docker Desktop的首页十分简洁明了。
Guides里有三个示例,大大的Run,点上来就能够快捷的体验本地服务了。这里咱们启动Nginx试试。
切换到Terminal Tab能够对容器收回指令
这种起服务的形式,我感觉比以前挨个装置软件的形式的确爽太多了。
至此Docker所需的环境曾经搭建胜利了,然而间隔咱们搭建一个很酷的本地开发环境还差得远。因为还有一连串的问题等着咱们。
比方咱们再深刻玩一下方才启动的Nginx容器,就会发现有很多指令找不到,这对于咱们在本地调试是不可承受的。
再比方须要部署到Nginx的制品如何与本地文件映射,本地启动多个依赖服务时网络与端口如何治理。以及针对不同的本地开发所须要依赖的资源和服务,可能须要通过自行build docker file的形式能力让他们在本地用起来更加丝滑和酷炫。这些问题,咱们留到后文再续。
你在本地做开发的时候,是怎么搭建和治理本人的环境呢?欢送留言探讨。