什么是开发者容器?
顾名思义,开发者容器是用于开发使用的容器。对于开发者环境,过去我们一直遵循的步骤是,在当前的操作系统安装相关的环境及配置。以 Go 语言来说,我们需要开发 Go 语言项目,必须包含以下几个步骤。
- 安装 Go 软件包
- 配置系统环境变量
- 安装 VS Code 或其它支持 Go 的IDE
如果项目依赖像 Redis、Zookeeper 等中间件,可能是在本地或企业局域网部署相关的环境。如果项目升级,我们需要升级本地的 Go 版本、Redis、Zookeeper 等环境。每个人的本地环境可能还存在差异性。如:Go 版本不同、系统架构不同(Windows、Macos)。这种模式不能统一一致的开发者开发环境。
容器时代,我们可以将应用构建为一个镜像,在不同的机器上基于统一的镜像启动不同的容器实例,这些不同实例的运行环境完全相同。
基于容器的该特性,我们是否可以将开发环境搬运到容器之中?在项目中通过标准化的配置提交到代码仓库,每个拉取到代码的同学基于这份配置直接启动同样环境的容器,在自己的本地容器环境中进行开发?这就是开发者容器。
VSCode 在很早之前就已经具备了该功能。可以基于开发者容器构建统一的开发者容器环境,整个开发的环境配置完全运行在开发者容器之中。开发的体验和本机传统的开发模式几乎完全相同,当前机器可以完全不需要安装 Go 环境。
如何让当前项目支持开发者容器?
首先,我们必须先安装 Docker Desktop:
https://docs.docker.com/get-started/workshop/
其次,我们需要安装 VSCode Dev Containers 扩展插件:
添加完成后,会在当前项目根目录生成一个
.devcontainer/devcontainer.json 配置文件,该文件描述了开发者容器的环境信息。
如何基于开发者容器进行开发?
如上图,你可以在创建开发者容器配置文件后,根据提示“在容器中重新打开”,你也可以使用以下方式打开。
关于 devcontainer.json 配置文件的更多功能,请参阅:
https://containers.dev/implementors/json_reference/
开发者容器官方文档:
https://code.visualstudio.com/docs/devcontainers/containers
本文暂时没有评论,来添加一个吧(●'◡'●)