propio - imagen docker ubuntu
No se pueden instalar paquetes dentro de la imagen de Docker Ubuntu (6)
Agregue el siguiente comando en Dockerfile:
RUN apt-get update
Instalé la imagen de Ubuntu 14.04 en la ventana acoplable. Después de eso, cuando intento instalar paquetes dentro de la imagen de ubuntu, no puedo encontrar el error del paquete:
apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package curl
¿Cómo arreglar este error?
Asegúrese de no tener errores de sintaxis en su Dockerfile, ya que esto también puede causar este error. Un ejemplo correcto es:
RUN apt-get update /
&& apt-get -y install curl /
another-package
Fue una combinación de arreglar un error de sintaxis y agregar la
apt-get update
que resolvió el problema para mí.
De los
docs
en
mayo
2017
2018
2019
Combine siempre
RUN apt-get update
conapt-get install
en la misma instrucciónRUN
, por ejemplo
RUN apt-get update && apt-get install -y package-bar
(...)
El uso de
apt-get update
solo en una instrucciónRUN
causa problemas de almacenamiento en caché y las instrucciones deapt-get install
posteriores fallan.(...)
El uso de
RUN apt-get update && apt-get install -y
garantiza que su Dockerfile instala las últimas versiones de paquete sin más codificación o intervención manual. Esta técnica se conoce como "almacenamiento en caché".
El error se produce porque no tiene el paquete o no tiene el repositorio que lo contiene.
Solución simple que debe hacer apt-get update y luego intentarlo.
Es porque no hay caché de paquete en la imagen, debe ejecutar:
apt-get update
antes de instalar paquetes, y si su comando está en un Dockerfile, necesitará:
apt-get -y install curl
Para suprimir la salida estándar de un comando, use
-qq
.
P.ej
apt-get -qq -y install curl
Necesita actualizar la lista de paquetes en su Ubuntu:
$ sudo apt-get update
$ sudo apt-get install <package_name>