是否可以在不创建自己的Docker映像的情况下在Gitpod中加载其他库?

时间:2019-04-12 08:23:59

标签: c++ github libraries gitpod

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

相反,我们决定支持Dockerfile并按需构建它们,因为Dockerfile允许使用所有已经存在的惊人模块系统:Debian的packages,Alpine的packages,{{3} },Node Version Manager (NVM)Ruby Version Manager (RVM)等。基本上是任何与Linux兼容的软件包管理器,甚至是简单的wget

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

更何况,Gitpod提供的是SDKmanselection of Docker images)。最突出的一个是src,它是Gitpod的默认图片。

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

  1. gitpod/workspace-full继承非常方便。
  2. 如果您不想(2),可以方便地从gitpod/workspace-full复制粘贴部分。
  3. 通常,将RUN apt-get update && apt-get install -y libboost-all-dev放入您的Dockerfile就足够了。这是安装软件包libboost-all-dev的APT。
  4. 大多数软件项目都有关于如何在Linux下构建它们的文档。这些说明通常也适用于Dockerfile。
  5. gitpod/workspace-full上搜索有用的Docker映像。您可以从这些图像继承,也可以找到它们的Dockerfile并从那里复制'n'paste部分。