我可以在Gitpod中加载其他库而无需创建自己的Docker镜像吗?

问题描述 投票:0回答:1

我最近尝试了Gitpod,这似乎是一个非常酷的工具。

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

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

c++ github libraries gitpod
1个回答
2
投票

我在Gitpod工作。谢谢你尝试它和赞美:)

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

相反,我们决定支持Dockerfiles并按需构建它们,因为Dockerfiles允许使用所有那些已经存在的神奇模块系统:Debian的packages,Alpine的packagesNode Version Manager (NVM)Ruby Version Manager (RVM)SDKman等。基本上任何Linux兼容的包管理器简单到wget

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

无论如何,Gitpod提供的是selection of Docker imagessrc)。最突出的是gitpod/workspace-full,它是Gitpod的默认图像。

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

  1. 继承自gitpod/workspace-full非常方便。
  2. 如果你不想要(2),从gitpod/workspace-full复制'n'pasting部分很方便。
  3. 通常,将RUN apt-get update && apt-get install -y libboost-all-dev放入Dockerfile就足够了。这是安装包libboost-all-dev的APT。
  4. 大多数软件项目都有关于如何在Linux下构建它们的文档。这些说明通常也适用于Dockerfiles。
  5. hub.docker.com上搜索有用的Docker图像。您可以从这些图像继承或从那里找到他们的Dockerfiles和copy'n'paste部分。
© www.soinside.com 2019 - 2024. All rights reserved.