1

是否可以code someFile.js从 docker 容器内部运行,并在 VS Code 中打开它?

我为什么要这样做?因为 vue 开发工具允许您从浏览器中打开 vue 组件。这对于想要快速跟踪组件并在编辑器中打开它们的新开发人员特别有用。

不幸的是——因为我的开发服务器在一个 docker 容器中运行——这个功能不起作用。这是因为编辑器是从 devserver 中打开的

可能值得注意的是,我使用的是 Visual Studio Code Remote - Containers。

因此,为了进一步缩小问题:

如何允许从 docker 容器启动 VS Code,以便 vue 开发工具可以在我的本地编辑器中打开该文件?

4

2 回答 2

0

是的,如果你不介意在 docker 容器中运行你的 vue 工具。您必须设置一个.devcontainer.json 文件,指定用于构建容器的 dockerfile 或图像或 dockercompose 文件。它将为您创建容器并默认自动挂载您的项目目录,但也有很多替代配置选项

这意味着您将打开 VS Code,基本上您的整个 IDE 将位于 docker 容器中。您可以从 VS Code 终端调用 vue 工具,包括调用code.

在过去 6 周左右的时间里,我一直在用一些 tensorflow 的东西来做这件事。一开始有点迷茫,但现在我真的很喜欢它。

到目前为止,我遇到的一个挑战是,如果您将映像部署为可交付成果,使用容器作为开发环境可能会导致一些开发工具潜入映像(例如在开发中需要的 Dockerfile 中包含开发工具,但不希望在部署的图像中)。可能有很好的方法来处理这个问题,但我还没有全部探索过。

另一个注意事项:我似乎找不到文档,但我认为推荐的方法是使用 WSL2 支持的 docker,然后从 WSL2 文件系统到 docker 而不是从 Windows 到 Docker 执行所有 docker 安装和 docker 客户端调用. 我猜如果 WSL2 和 docker 共享同一个虚拟机,WSL2/Docker 之间的挂载文件系统比 Windows/Docker 更快。到目前为止,这对我来说效果很好......

于 2021-02-08T01:08:07.477 回答
0

我已经设法使这个 VS Code 的 dockerized 版本适应我们的限制性运行时环境(Openshift),尽管它确实假设连接到 Internet,因此必须预先安装扩展和 Intellisense ML 模型:

https://hub.docker.com/r/codercom/code-server

于 2021-02-08T02:20:42.577 回答