Pregunta

Quiero agregar un archivo (.tar.gz) y descomprímalo durante la creación de la imagen usando un Dockerfile.

ADD archive.tar.gz /archive.tar.gz
RUN tar xzf archive.tar.gz

Cuando quiero descomprimir el archivo, aparece el siguiente mensaje:

tar: /archive.tar.gz: Cannot read: Is a directory
tar: At beginning of tape, quitting now
tar: Error is not recoverable: exiting now

lo cual no tiene ningún sentido para mí, ya que el archivo archive.tar.gz no es un directorio.

¿Fue útil?

Solución

Después de ejecutar una confirmación intermedia de la imagen de la ventana acoplable, pude ver que /archive.tar.gz de hecho es un directorio.Esto significa que Docker extrae archivos automáticamente cuando los agrega durante la creación de imágenes.

Ahora también pude encontrar esto documentado en documentación acoplable.

(editar:archivos, p.e. .sql.gz, no se descomprimen al agregar)

Otros consejos

Si desea que el archivo permanezca, ya que se usa COPY, no ADD.

Para otros que se han topado con este problema más recientemente al hacer referencia remoto URL con sus ADD comandos, esto es un problema con Docker 17.06.0-ce (2017-06-28).

De Notas de la versión de Dockers:

Nota:Docker 17.06.0 tiene un problema en el generador de imágenes que provoca un cambio en el comportamiento de la instrucción ADD de Dockerfile al hacer referencia a un archivo .tar.gz remoto.El problema se solucionará en Docker 17.06.1.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top