Со временем я собрал неаккуратный докер-файл для создания моей среды разработки, и он в целом работает хорошо. Однако есть пара ситуаций, когда я устанавливаю что-то во время сборки докера, и, кажется, все идет хорошо. Но когда я создаю контейнер, программа не может быть найдена.

Вот две строки из моего dockerfile:

RUN apt-get install -y apt-transport-https

RUN apt-get update && apt-get install -y heroku

Dockerfile собирается, и контейнеры запускаются нормально. heroku, которому для установки требовался apt-transport-https, работает нормально, но когда я пытаюсь запустить apt-transport-https из моего работающего контейнера, его не удается найти.

Я думал, что это может быть проблема пути, но когда я ищу apt-transport-https с помощью команды «find / -type f -name apt-transport-https», его нигде нет

так что мои вопросы:

  1. почему apt-transport-https не будет присутствовать при создании контейнера?
  2. как мне убедиться, что он присутствует?

1 ответ1

0

apt-transport-https позволяет apt получать пакеты через https. Так что он не выполняется напрямую, но apt использует его для https-соединений.

https://packages.debian.org/en/jessie/apt-transport-https

Вы можете найти пакет в вашем контейнере через:

dpkg -l | grep apt-transport-https

или же

apt list --installed | grep apt-transport-https

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .