OCI容器是一种为项目打包合适的工具链的便捷方法,这样开发环境就可以保持一致,并且新项目成员可以通过简单地检出项目并拉出相关容器来快速启动。
但是,使用编译器启动容器来构建项目需要在docker(或podman)命令行上有很多选择。除了图像名称,通常:
--ipc host
使共享内存正常工作然后它可能会由于其他因素而变得更加复杂。例如。如果开发人员位于不同的部门并且无法访问相同的docker存储库,则它们的映像可能会以不同的方式调用,因为docker不支持存储库的符号名称(尽管podman支持)。 / p>
是否有某种标准的方式来处理这些选项,或者每个人都只是使用即席包装脚本?
答案 0 :(得分:2)
我使用Visual Studio Code Remote - Containers extension将源代码连接到Docker容器,该容器包含构建代码所需的所有工具(例如npm
模块,ruby gems
,eslint
,Node.JS,java
)。该容器包含用于开发/构建/测试源代码的所有“工具”。
此外,您还可以将VSCode扩展名放入Docker映像中,以帮助保持VSCode IDE工具的可移植性。 https://code.visualstudio.com/docs/remote/containers#_managing-extensions
您可以在源代码中提供一个Dockerfile,供新手使用build the Docker image themselves或将VSCode附加到existing Docker container。
如果出于测试目的需要在Docker容器中运行服务器,则可以通过VSCode expose a port on the container,然后使用浏览器或从主机上使用cURL
来访问容器中的服务器。
请注意known limitations至Visual Studio Code Remote-容器扩展名。对我影响最大的是beta support for Alphine Linux。我经常注意到一些流行的Docker Hub映像基于Alphine。