Могу ли я загрузить дополнительные библиотеки в Gitpod без создания собственного образа Docker? - PullRequest
0 голосов
/ 12 апреля 2019

Я недавно опробовал Gitpod , который, кажется, довольно крутой инструмент.

Для тестирования я открыл мой репозиторий C ++ GitHub, который использует Boost (среди прочихбиблиотеки).К сожалению, Boost, похоже, не установлен в образе Docker, поэтому мой код не компилируется.

Я знаю о возможности создания собственных образов Docker , но мне было интересно, есть лиальтернативные, более простые варианты, а также.Предоставляет ли Gitpod какую-либо опцию, подобную модулям среды, для динамической загрузки / выгрузки определенных «часто используемых» библиотек, или мне всегда нужно предоставлять свой собственный экземпляр Docker в этом случае?

1 Ответ

2 голосов
/ 13 апреля 2019

Я работаю на Gitpod.Спасибо за попытку и комплимент:)

Мы не хотели изобретать еще одну модульную систему для Gitpod.

Вместо этого мы решили поддерживать Dockerfiles и создавать их по требованию, поскольку Dockerfiles позволяют использовать все те удивительные модульные системы, которые уже существуют: пакеты Debian , пакеты Alpine , Node Version Manager (NVM) , Ruby Version Manager (RVM) , SDKman и т. Д. В основном любой Linux-совместимый менеджер пакетов, вплоть до простого wget.

Вы также можете использовать собственные образы Docker, но я считаю, что Dockerfiles удобнее, потому что вы можете преобразовать их в git и тем самым сделать их версию вместе с вашим исходным кодом.Это dev-environment-as-code, и его следует использовать в команде.Кроме того, вам не нужно беспокоиться о создании и отправке их в реестр (например, hub.docker.com).

Что Gitpod предлагает, однако, это выбор изображений Docker ( срк ).Наиболее выдающимся является gitpod / workspace-full , который является стандартным образом Gitpod.

Чтобы вернуться к вашему вопросу о простейшем способе установки нужных модулей в среду разработки Gitpod:

  1. наследование от gitpod / workspace-full очень удобно.
  2. Если вы не хотите (2), скопируйте и вставьте разделы из gitpod / workspace-full удобно.
  3. Часто достаточно поместить RUN apt-get update && apt-get install -y libboost-all-dev в ваш Dockerfile.Это APT для установки пакета libboost-all-dev.
  4. В большинстве программных проектов есть документация по их сборке в Linux.Эти инструкции обычно работают и в Dockerfiles.
  5. Поиск на hub.docker.com полезных изображений Docker.Вы можете наследовать от этих изображений или найти их Dockerfiles и скопировать разделы n'p'paste оттуда.
...