subir propio imagen hub dockers crear contenedor container docker ubuntu-14.04

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 con apt-get install en la misma instrucción RUN , por ejemplo

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

(...)

El uso de apt-get update solo en una instrucción RUN causa problemas de almacenamiento en caché y las instrucciones de apt-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>