Подтвердить что ты не робот

Не удается установить пакеты внутри докеры Ubuntu image

Я установил изображение Ubuntu 14.04 на докере. После этого, когда я пытаюсь установить пакеты внутри образа ubuntu, я не могу найти ошибку пакета:

apt-get install curl

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package curl

Как исправить эту ошибку?

4b9b3361

Ответ 1

Потому что в образе нет кэша пакетов, вам нужно запустить:

apt-get update

перед установкой пакетов, и если ваша команда находится в Dockerfile, вам потребуется:

apt-get -y install curl

Для подавления стандартного вывода команды используйте -qq. Например

apt-get -qq -y install curl

Ответ 2

Из документов в мае 2017 2018 2019

Например, всегда объединяйте RUN apt-get update с установкой apt-get install в одной и той же инструкции RUN

RUN apt-get update && apt-get install -y package-bar

(...)

Использование apt-get update в операторе RUN приводит к проблемам с кэшированием, а последующие инструкции по apt-get install не выполняются.

(...)

Использование RUN apt-get update && apt-get install -y гарантирует, что ваш Dockerfile устанавливает последние версии пакетов без дальнейшего кодирования или ручного вмешательства. Эта техника известна как "очистка кэша".

Ответ 3

Добавьте следующую команду в Dockerfile:

RUN apt-get update

Ответ 4

Убедитесь, что в вашем Dockerfile нет синтаксических ошибок, так как это может вызвать и эту ошибку. Правильный пример:

RUN apt-get update \
    && apt-get -y install curl \
    another-package

Это была комбинация исправления синтаксической ошибки и добавления apt-get update которая решила проблему для меня.

Ответ 5

Ошибка возникает из-за того, что у вас нет пакета или нет репозитория, в котором он находится.

Простое решение, вы должны сделать apt-get update и затем попробовать.

Ответ 6

Вам необходимо обновить список пакетов в вашей Ubuntu:

$ sudo apt-get update
$ sudo apt-get install <package_name>