使用docker作为开发环境

11/29/2020    docker

可能每当新pull一个项目,就要调整一下开发环境,或者新装PC,就要配置一下环境,各种环境之间可能还会互相影响,非常麻烦。
所以尝试使用docker,目标是一键配置好项目所需的环境,且不同的环境之间可以互相隔离。 目前使用的方案是vscode remote development extension pack。

准备:

  • docker
  • vscode

docker for windows的安装现在已经非常方便了,只需下载docker desktop,按照他的安装步骤走下来就好。

步骤:

  1. pull项目,启动docker
  2. vscode安装vscode remote development extension pack
  3. vscode按F1,可以找到 Remote-Containers: Open Folder in Container…,点击选择项目
  4. 下一步中,可以选择这个项目对应的环境的镜像
  5. 下载镜像需要一段时间,下载完成后,vscode就可以在在容器中打开项目,对应的开发环境也全都OK了
  6. 可以给vscode安装对应的环境插件,愉快开发

问题:

  • 可能因为vscode依赖,不管项目使用什么语言,都可能要额外带上一个node环境,导致镜像都会超过1G,非常占空间
  • windows下,docker的vmmem进程占用了大量内存

限制vmmem占用资源方法:

c:\users\*your your profile name*下创建.wslconfig文件,输入

[wsl2]
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=5 # Makes the WSL 2 VM use two virtual processors

然后在管理员模式Powershell中输入命令重启WSL 2

Restart-Service LxssManager

不想使用vscode来开发?

IDEA已经支持连接docker,但不知道它能不能完美适配这个镜像,待验证

References

java dev environments with containers
How to Stop WSL2 from Hogging All Your Ram With Docker