最近在学习符号执行,很多符号执行框架都有自己的依赖和编译环境, 因此使用 docker
可以让我们专心于框架本身而不是各种编译错误。但是 docker 容器有了之后,随之而来的问题也来了,宿主机和 docker 如何进行数据传输?
docker 有一个cp
命令, 可以将文件或者目录拷贝,也就是说,每次修改完文件之后,都需要执行命令来同步文件。这个对于一次性操作来说是方便的,但对于频繁改动的内容就不太适合。
查看 docker
的文档可以发现,它有一个参数是 -v
, 可以用于挂载目录,如果我们改动文件,两者就会同步(毕竟两者实际就是一个文件)。
上面这个方法已经满足正常的需求了。作为一个懒人,想法就是能否 vscode 直接访问容器里的文件,然后直接在 vscode 里执行命令。
之前在 windows 看到过 windows 和 wsl2 的联动,心想,vscode 应该也会提供类似的插件,后来在市场里一搜,发现真的有类似的插件,一个插件叫 Docker
,方便查看和管理 docker, 这个和 docker 自带的管理器差不多, 另一个插件叫 Remote-Containes
, 这个插件可以直接让你访问容器内的文件并执行命令。