我最近尝试了Gitpod,它似乎是一个非常不错的工具。

为了进行测试,我打开了我的一些使用Boost的C++ GitHub存储库(以及其他库)。不幸的是,Boost镜像中似乎没有安装Boost,因此我的代码无法编译。

我知道creating own Docker images的可能性,但我想知道是否还有其他更简单的选择。 Gitpod是否提供任何类似于“环境模块”的选项来动态加载/卸载某些“常用”库,或者在这种情况下我是否总是必须提供自己的Docker实例?

最佳答案

我在Gitpod上工作。谢谢您尝试和赞美:)

我们不想为Gitpod发明另一个模块系统。

相反,我们决定支持Dockerfile并按需构建它们,因为Dockerfile允许使用已经存在的所有出色模块系统:Debian的packages,Alpine的packagesNode Version Manager (NVM)Ruby Version Manager (RVM)SDKman等。到简单的wget

您也可以使用自己的Docker镜像,但是我发现Dockerfile更方便,因为您可以将它们检入git,从而与源代码一起对它们进行版本控制。它是开发环境即代码,应在整个团队之间共享。另外,您无需费心构建并将其推送到注册表(例如hub.docker.com)。

不过,Gitpod提供的功能是selection of Docker images(src)。最突出的一个是gitpod/workspace-full,它是Gitpod的默认图像。

回到关于将正确的模块放入Gitpod开发环境的最简单方法的问题:

gitpod/workspace-full继承的

  • 非常方便。
  • 如果您不想要(2),可以从gitpod/workspace-full复制粘贴部分很方便。
  • 通常,将RUN apt-get update && apt-get install -y libboost-all-dev放入您的Dockerfile中就足够了。这是APT,用于安装软件包libboost-all-dev
  • 大多数软件项目都有关于如何在Linux下构建它们的文档。这些指令通常也适用于Dockerfiles。
  • hub.docker.com上搜索有用的Docker镜像。您可以从这些图像继承,也可以找到它们的Dockerfile并从那里复制'n'paste部分。
  • 关于c++ - 是否可以在不创建自己的Docker镜像的情况下在Gitpod中加载其他库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55647395/

    10-10 06:26