tgz ejemplos directorio descomprimir crear comando bz2 archivo tar docker

ejemplos - tar ubuntu



tar: no se puede leer: es un directorio en la ventana acoplable (3)

Quiero agregar un archivo ( .tar.gz ) y descomprimirlo durante la creación de la imagen utilizando un archivo Docker.

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

Cuando quiero descomprimir el archivo, recibo 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.


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

Ahora también podría encontrar esto documentado en la documentación de Docker .

(editar: archivos, por ejemplo, .sql.gz , no se descomprimen al agregar)


Si desea que el archivo permanezca como está, use COPY , no ADD .


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

De las notas de la versión de Dockers :

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