¿Qué es Dockerfile COPY?

Contenido del Bootcamp Dirigido por: | Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La opción Dockerfile COPY se refiere a la instrucción que permite copiar un fichero en el interior de una imagen de Docker. Esta herramienta cumple solo la función de duplicar archivos, ficheros y directorios del sistema en una determinada ubicación en un formato existente.

De modo que la copia realizada por la instrucción de Dockerfile COPY no es solo la extracción de un archivo comprimido, sino que es la copia exacta de los archivos. En los casos de los directorios, estos no son copiados como tal, pero sí la totalidad de su contenido.

Características de Dockerfile COPY

Dentro de las características de la instrucción Dockerfile COPY, se encuentra que solo puede utilizarse para trabajar con los archivos almacenados de forma local, por lo que el usuario no tiene la posibilidad de implementar esta opción con alguna URL si desea copiar archivos externos a su contenedor.

Además, Dockerfile Copy cuenta con la sintaxis básica COPY <src> ... <dest>, donde la opción src o source hace referencia a los archivos y directorios copiados por la herramienta, y el recurso dest se refiere al sistema de archivo del container en la ruta donde agrega los elementos copiados.

Dockerfile COPY también presenta la opción de incluir la flag --from=<name>, que puede utilizarse con el objetivo de indicar la ubicación de origen proveniente de una etapa de construcción o compilación previa, que será implementada en vez del build context que envíe el cliente o usuario. En las ocasiones donde la plataforma no pueda hallar una etapa de compilación con un nombre determinado, Dockerfile Copy intentará emplear una imagen que esté nombrada de la misma forma.

Reglas de Dockerfile COPY

Una propiedad importante de la instrucción de Dockerfile COPY es que obedece a una serie de reglas de la plataforma, como, por ejemplo:

  • En los casos donde el elemento <src> sea un directorio, el contenido de Dockerfile Copy será copiado totalmente, incluyendo recursos como los metadatos propios del sistema de archivos correspondiente.
  • Cuando <src> sea cualquier otro archivo diferente a un directorio, será copiado de manera individual, al igual que sus metadatos, por el copy docker.
  • Es necesario que la opción de <src> se encuentre en el interior del build context para el copy Dockerfile.
  • En los casos donde el usuario especifique más de un recurso de tipo <src>, ya sea de forma directa o no, el elemento <dest> de copy docker debe ser un directorio y terminar su sintaxis con una barra inclinada, es decir, «/».
  • Cuando el recurso <dest> no finaliza con una barra diagonal, el sistema de copy Dockerfile lo considerará como un archivo normal y el contenido del <src> será escrito en <dest> .
  • En las situaciones donde el elemento <dest> no exista todavía, será creado en conjunto de la totalidad de directorios faltantes en su ruta del copy Dockerfile.

¿Cuál es el siguiente paso?

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

En este artículo has podido aprender qué es la instrucción Dockerfile COPY o copy docker, para qué sirve y cuáles son sus características más importantes; ahora, da el siguiente paso y continúa tu proceso de aprendizaje respecto a esta y otras opciones de Docker y sus contenedores. Podrás conseguirlo gracias a nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde necesitarás menos de 6 meses para conocer todo lo requerido para convertirte en un experto del sector IT y obtener una ventaja frente a tu competencia, ¡Anímate a inscribirte en este bootcamp y no dudes en seguir aprendiendo acerca de esta y otras herramientas!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado