Вопрос или проблема
Это запуск контейнера Docker с использованием официального Ubuntu 14.04
Конечный результат будет таким же, как в этом вопросе и ответе, как только я смогу установить эту команду.
Я новичок в Ubuntu и пытаюсь заставить контейнер Docker обновлять сертификаты, которые я подключаю с помощью -v
.
Я попытался использовать dpkg -S update-ca-certificates, как описано в ссылке, и еще в нескольких других ответах, которые, казалось, указывали в том же общем направлении. Но в конечном итоге я получаю это в контейнере:
root@24b087e56f8e:/# apt-get install -y ca-certificates
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удается найти пакет ca-certificates
2 вопроса
-
Как узнать, с каким пакетом установлена команда?
-
Какой пакет мне нужно установить в моем контейнере, чтобы команда
update-ca-certificates
работала?
PEBKAC
Оказалось, что нужно выполнить команду apt-get update
перед установкой любых других пакетов. После выполнения обновлений вы можете затем выполнить apt-get install -y ca-certificates
, и это тот пакет, который содержит команду update-ca-certificates
.
В контейнере Docker Ubuntu выполните:
-
apt-get update
-
apt-get install ca-certificates -y
-
update-ca-certificates
Попробуйте использовать: update-ca-trust, если у вас установлен ca-certificates, но не работает.
Смотрите: https://stackoverflow.com/questions/73620124/update-ca-certificates-command-not-found-despite-ca-certificates-being-installed
Я не уверен, почему, но когда я пытаюсь выполнить следующую команду:
sudo apt-get install ca-cert certifications curl gnupg
Я получаю следующее сообщение об ошибке:
E: Не удается найти пакет ca-certificates
Тем не менее, после выполнения следующей команды, которую я нашел в учебнике по установке Docker:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
Все проходит гладко, и при просмотре журнала указывается, что ca-certificates уже последняя версия.
Не уверен, почему первая команда не сообщает, что пакет уже установлен, но вы можете попробовать этот метод.
Ответ или решение
Для решения проблемы с командой update-ca-certificates
в контейнере Docker на базе Ubuntu 14.04, выполните следующие шаги:
Шаги по установке и обновлению сертификатов
-
Обновите списки пакетов. Перед тем как устанавливать любые пакеты, необходимо выполнить команду
apt-get update
, чтобы убедиться, что у вас есть самая последняя информация о доступных пакетах:apt-get update
-
Установите пакеты
ca-certificates
и другие необходимые зависимости. После обновления списков пакетов, выполните установкуca-certificates
. Эта команда также может установить некоторые зависимости, которые могут быть необходимы:apt-get install -y ca-certificates
-
Запустите команду
update-ca-certificates
. Теперь, когда пакет установлен, вы можете использовать команду для обновления сертификатов:update-ca-certificates
Ответы на вопросы
-
Как узнать, какой пакет предоставляет определенную команду?
Чтобы выяснить, какой пакет содержит определенную команду, можно использовать командуdpkg -S <имя файла>
. Например, для командыupdate-ca-certificates
, выполните:dpkg -S $(which update-ca-certificates)
Это вернет имя пакета, который содержит данную команду.
-
Какой пакет нужно установить для работы
update-ca-certificates
?
Для работы командыupdate-ca-certificates
необходимо установить пакетca-certificates
. Если команда не будет найдена, убедитесь, что вы обновили списки пакетов с помощьюapt-get update
перед установкой.
Дополнительная информация
Если вы столкнулись с ошибкой E: Unable to locate package ca-certificates
, это может быть связано с тем, что списки пакетов не были обновлены (т.е. apt-get update
не было выполнено). Также, если вы пытаетесь установить другие пакеты, такие как curl
, gnupg
или software-properties-common
, используйте следующую команду, которая включает их все сразу:
apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
Заключение
Следуя указанным шагам, вы сможете успешно установить необходимые пакеты и обновить сертификаты в вашем контейнере Ubuntu на базе Docker. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.