用Docker搭建更酷的本地开发环境

以前要在本地跑一些有意思的工程和实验,都需要通过在本地装上一大堆软件来实现。最近发现有一种更酷的方式: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 的方式才能让他们在本地用起来更加丝滑和酷炫。这些问题,我们留到后文再续。 你在本地做开发的时候,是怎么搭建和管理自己的环境呢?欢迎留言讨论。


测量无线系统中的驻波比和增益
vivo Z5曝光将标配22.5W快充搭载骁龙712平台和4500mAh的大电池
数字串扰在数据转换器中的影响:串扰对时钟的影响
彭博称美国服务器发现中国侵入的痕迹
深度学习经典的自动标注软件介绍
用Docker搭建更酷的本地开发环境
全新丰田Sienna碰撞测试成绩公布:与GL8“撞断”A柱形成对比
索尼Xperia 1曝光将是全球首款配备4K HDR OLED屏幕的机型
Xbox Series X GPU相比RX 5700 XT性能要快12%
车规级耐高温BLE5.2协议串口转蓝牙模块E104-BT53C3产品简介
TE与HTC Vive合作款TE VR滑翔机 赋能互连的物联网世界
行业大咖齐聚袤博科技 2021 DIC中国数据智能大会
苹果也将推出折叠屏手机,屏幕供应商还是最大竞争对手
EmTech China 2020全球新兴科技峰会于苏州相城启幕
一加6T和迈凯伦版有什么区别
【虹科干货】2022年现代数据中心技术预测系列——企业数据交付技术
雅迪公司领先于连接器与工业网路技术领域市场
经典的PLC程序编写套路
关于通信技术的历程介绍与6G关键技术发展
iPhone8什么时候上市?iPhone8最新消息:iPhone8标配无线充电、全面屏、超级双摄,iphone8重登机皇