{"id":211,"date":"2024-07-21T11:48:00","date_gmt":"2024-07-21T11:48:00","guid":{"rendered":"https:\/\/dockerpros.com\/?p=211"},"modified":"2024-07-21T11:48:00","modified_gmt":"2024-07-21T11:48:00","slug":"how-do-i-automate-the-creation-of-docker-images","status":"publish","type":"post","link":"https:\/\/dockerpros.com\/es\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","title":{"rendered":"Para automatizar la creaci\u00f3n de im\u00e1genes Docker, puedes utilizar Dockerfiles. Un Dockerfile es un archivo de texto que contiene todas las instrucciones necesarias para construir una imagen Docker. Aqu\u00ed tienes un ejemplo de c\u00f3mo crear un Dockerfile:\n\n1. Crea un archivo llamado \"Dockerfile\" en el directorio ra\u00edz de tu proyecto.\n2. Abre el archivo Dockerfile con un editor de texto.\n3. Agrega las siguientes instrucciones al archivo:\n\n```\nFROM ubuntu:latest\nRUN apt-get update &amp;&amp; apt-get install -y python3\nCOPY . \/app\nWORKDIR \/app\nCMD [\"python3\", \"app.py\"]\n```\n\n4. Guarda el archivo Dockerfile.\n\nEn este ejemplo, estamos creando una imagen Docker basada en la \u00faltima versi\u00f3n de Ubuntu. Luego, instalamos Python 3, copiamos los archivos del proyecto al directorio \"\/app\" dentro del contenedor, establecemos el directorio de trabajo como \"\/app\" y finalmente especificamos el comando que se ejecutar\u00e1 cuando se inicie el contenedor.\n\nUna vez que hayas creado el Dockerfile, puedes construir la imagen Docker utilizando el siguiente comando:\n\n```\ndocker build -t nombre_imagen .\n```\n\nReemplaza \"nombre_imagen\" con el nombre que deseas dar a tu imagen Docker. El punto al final del comando indica que el Dockerfile se encuentra en el directorio actual.\n\nDocker leer\u00e1 las instrucciones del Dockerfile y crear\u00e1 una imagen Docker con el nombre especificado. Una vez que se complete el proceso de construcci\u00f3n, podr\u00e1s ejecutar contenedores basados en esta imagen utilizando el comando `docker run`.\n\nRecuerda que puedes personalizar el Dockerfile seg\u00fan las necesidades de tu proyecto, agregando m\u00e1s instrucciones, instalando dependencias adicionales, exponiendo puertos, etc."},"content":{"rendered":"<h1>Automating the Creation of Docker Images<\/h1>\n<p>In the ever-evolving landscape of software development, Docker has become a cornerstone for creating, deploying, and managing applications within containers. One of the most powerful features of Docker is its ability to automate the creation of images, which encapsulate all the necessary components for an application to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. En este art\u00edculo, exploraremos t\u00e9cnicas avanzadas para automatizar la creaci\u00f3n de im\u00e1genes de Docker, garantizando que tu flujo de trabajo de desarrollo sea eficiente, reproducible y escalable.<\/p>\n<h2>Understanding Docker Images and Dockerfiles<\/h2>\n<p>Antes de sumergirnos en la automatizaci\u00f3n, es crucial comprender el concepto de im\u00e1genes Docker y c\u00f3mo se crean utilizando Dockerfiles. <\/p>\n<h3>Una imagen de Docker es un archivo de solo lectura que contiene el c\u00f3digo, las librer\u00edas, las variables de entorno y los archivos de configuraci\u00f3n necesarios para ejecutar una aplicaci\u00f3n. Es como una plantilla que se utiliza para crear contenedores de Docker. Las im\u00e1genes de Docker se construyen a partir de una serie de capas, cada una de las cuales representa una modificaci\u00f3n en la imagen base. Estas capas se apilan unas sobre otras para formar la imagen final. Las im\u00e1genes de Docker se almacenan en un registro, como Docker Hub, y se pueden descargar y utilizar para crear contenedores en cualquier m\u00e1quina que tenga Docker instalado.<\/h3>\n<p>Un Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is essentially a snapshot of a filesystem that includes everything needed to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> an application: code, libraries, dependencies, and environment variables. Images are built using a series of instructions defined in a <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>\u00bfQu\u00e9 es un Dockerfile?<\/h3>\n<p>A <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is a text file that contains a set of instructions for building a Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. Each instruction in the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> corresponds to a layer in the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, allowing Docker to cache layers for efficiency. A typical <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> might contain instructions for setting the base <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, copying files, installing packages, and defining commands to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h2>La necesidad de automatizaci\u00f3n<\/h2>\n<p>Manually creating Docker images can be tedious and error-prone, especially in complex applications with multiple dependencies. Automation streamlines this process, ensuring consistency in builds and reducing human error. Additionally, automation allows for continuous integration and continuous deployment (CI\/CD) practices, making it easier to deploy applications at scale.<\/p>\n<h2>Prerequisites for Automating Docker Image Creation<\/h2>\n<p>Antes de automatizar la creaci\u00f3n de im\u00e1genes Docker, debe tener lo siguiente en su lugar:<\/p>\n<ol>\n<li><strong>Docker est\u00e1 instalado<\/strong>: Aseg\u00farate de que Docker est\u00e9 instalado y ejecut\u00e1ndose en tu m\u00e1quina o servidor de CI\/CD.<\/li>\n<li><strong>Version Control System<\/strong>: Utilize a version control system like Git to manage your Dockerfiles and application code.<\/li>\n<li><strong>Herramienta de CI\/CD<\/strong>: Familiar\u00edzate con una herramienta de CI\/CD como Jenkins, GitLab CI o GitHub Actions.<\/li>\n<li><strong><span class=\"glossaryai-tooltip glossary-term-736\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-registry\/\" target=\"_blank\">Registro de Docker<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Docker Registry is a storage and distribution system for Docker images. It allows developers to upload, manage, and share container images, facilitating efficient deployment in diverse environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/strong>Configurar un <span class=\"glossaryai-tooltip glossary-term-736\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-registry\/\" target=\"_blank\">repositorio de Docker<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Docker Registry is a storage and distribution system for Docker images. It allows developers to upload, manage, and share container images, facilitating efficient deployment in diverse environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> (like <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub es un repositorio basado en la nube para almacenar y compartir im\u00e1genes de contenedores. Facilita el control de versiones, el desarrollo colaborativo y la integraci\u00f3n perfecta con Docker CLI para una gesti\u00f3n eficiente de contenedores.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> or a <span class=\"glossaryai-tooltip glossary-term-737\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/private-registry\/\" target=\"_blank\">registro privado<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un registro privado es un repositorio seguro para administrar y almacenar im\u00e1genes de contenedores, lo que permite a las organizaciones controlar el acceso, mejorar la seguridad y agilizar los procesos de implementaci\u00f3n dentro de su infraestructura.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/private-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>) para almacenar tus im\u00e1genes construidas.<\/li>\n<\/ol>\n<h2>Automating Docker Image Creation with Dockerfile Best Practices<\/h2>\n<h3>1. Estructurando tu Dockerfile<\/h3>\n<p>Un bien estructurado <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is crucial for effective automation. Here are some best practices:<\/p>\n<ul>\n<li>\n<p><strong>Utilice im\u00e1genes base oficiales.<\/strong>: Start with official base images from <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub es un repositorio basado en la nube para almacenar y compartir im\u00e1genes de contenedores. Facilita el control de versiones, el desarrollo colaborativo y la integraci\u00f3n perfecta con Docker CLI para una gesti\u00f3n eficiente de contenedores.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to ensure security and reliability.<\/p>\n<pre><code class=\"language-dockerfile\">FROM python:3.9-slim<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Minimiza las capas<\/strong>: Combinar comandos usando <code>&amp;&amp;<\/code> to reduce the number of layers in your <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. This not only minimizes <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> size but also improves build speed.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">CORRE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> apt-get update &amp;&amp; apt-get install -y \n  curl \n  vim \n  &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/*<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Aprovechar la cach\u00e9<\/strong>: Structure your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to maximize the cache. Place less frequently changing commands at the top and more frequently changing ones at the bottom.<\/p>\n<\/li>\n<\/ul>\n<h3>2. Versionado y etiquetado de im\u00e1genes<\/h3>\n<p>Automatice el versionado y etiquetado de sus im\u00e1genes Docker. Esto se puede lograr utilizando argumentos de build o variables de entorno.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-679\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/arg\/\" target=\"_blank\">Argentina<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">ARG is a directive used within Dockerfiles to define build-time variables that allow you to parameterize your builds. These variables can influence how an image is constructed, enabling developers to create more flexible and reusable Docker images.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/arg\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> VERSION=latest\n<span class=\"glossaryai-tooltip glossary-term-678\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/label\/\" target=\"_blank\">ETIQUETA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">En los sistemas de gesti\u00f3n y clasificaci\u00f3n de datos, una \"etiqueta\" sirve como descriptor que categoriza e identifica elementos. Las etiquetas mejoran la organizaci\u00f3n de datos, facilitan la recuperaci\u00f3n y mejoran la comprensi\u00f3n dentro de conjuntos de datos complejos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/label\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> versi\u00f3n=${VERSION}<\/code><\/pre>\n<p>En tu pipeline de CI\/CD, puedes pasar el... <code>VERSION<\/code> argumento que se calcula din\u00e1micamente en funci\u00f3n del hash del commit o del versionado sem\u00e1ntico.<\/p>\n<h3>3. Secrets Management<\/h3>\n<p>Managing secrets is critical for security. Use Docker secrets or environment variables to manage sensitive data like <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Una API, o Interfaz de Programaci\u00f3n de Aplicaciones, permite que las aplicaciones de software se comuniquen e interact\u00faen entre s\u00ed. Define protocolos y herramientas para construir software y facilitar la integraci\u00f3n.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> keys and database credentials. Avoid hardcoding secrets into your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile es un script que contiene una serie de instrucciones para automatizar la creaci\u00f3n de im\u00e1genes Docker. Especifica la imagen base, las dependencias de la aplicaci\u00f3n y la configuraci\u00f3n, facilitando el despliegue consistente en diferentes entornos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-671\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/env\/\" target=\"_blank\">entorno<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">ENV, or Environmental Variables, are crucial in software development and system configuration. They store dynamic values that affect the execution environment, enabling flexible application behavior across different platforms.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/env\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> DATABASE_PASSWORD=${DATABASE_PASSWORD}<\/code><\/pre>\n<h3>4. Construcciones multietapa<\/h3>\n<p>Multi-stage builds allow you to create smaller, more efficient images by separating the build environment from the runtime environment. This technique can significantly reduce the size of the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<pre><code class=\"language-dockerfile\"># Build Stage\nFROM <span class=\"glossaryai-tooltip glossary-term-684\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/node\/\" target=\"_blank\">nodo<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Node, o Node.js, es un entorno de ejecuci\u00f3n de JavaScript basado en el motor V8 de Chrome, que permite la programaci\u00f3n del lado del servidor. Permite a los desarrolladores construir aplicaciones de red escalables utilizando una arquitectura as\u00edncrona basada en eventos.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/node\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:14 AS builder\n<span class=\"glossaryai-tooltip glossary-term-675\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/workdir\/\" target=\"_blank\">WORKDIR<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La instrucci\u00f3n `WORKDIR` en Dockerfile establece el directorio de trabajo para las instrucciones posteriores. Simplifica la gesti\u00f3n de rutas, ya que todas las rutas relativas se resolver\u00e1n desde este directorio, mejorando la claridad de la compilaci\u00f3n.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/workdir\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> \/app\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY is a command in computer programming and data management that facilitates the duplication of files or data from one location to another, ensuring data integrity and accessibility.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> package.json .\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">CORRE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm install\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY is a command in computer programming and data management that facilitates the duplication of files or data from one location to another, ensuring data integrity and accessibility.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> . .\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">CORRE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> build\n\n# Production Stage\nFROM nginx:alpine\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY is a command in computer programming and data management that facilitates the duplication of files or data from one location to another, ensuring data integrity and accessibility.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --from=builder \/app\/dist \/usr\/share\/nginx\/html<\/code><\/pre>\n<h2>Implementing CI\/CD for Automated Image Creation<\/h2>\n<h3>1. Usando GitHub Actions<\/h3>\n<p>GitHub Actions is a powerful CI\/CD tool that allows you to automate the build and deployment of Docker images. Here\u2019s a step-by-step guide to create a workflow:<\/p>\n<h4>Paso 1: Crear un archivo de flujo de trabajo<\/h4>\n<p>En tu <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\" target=\"_blank\">repositorio<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un repositorio es una ubicaci\u00f3n centralizada donde se almacenan, gestionan y mantienen datos, c\u00f3digo o documentos. Facilita el control de versiones, la colaboraci\u00f3n y el intercambio eficiente de recursos entre los usuarios.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, create a file named <code>.github\/workflows\/docker-image.yml<\/code>.<\/p>\n<h4>Paso 2: Definir el flujo de trabajo<\/h4>\n<p>Here\u2019s an example workflow that builds a Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> and pushes it to <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub es un repositorio basado en la nube para almacenar y compartir im\u00e1genes de contenedores. Facilita el control de versiones, el desarrollo colaborativo y la integraci\u00f3n perfecta con Docker CLI para una gesti\u00f3n eficiente de contenedores.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:<\/p>\n<pre><code class=\"language-yaml\">name: Build and Push Docker Image\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions\/checkout@v2\n\n      - name: Log in to Docker Hub\n        uses: docker\/login-action@v1\n        with:\n          username: ${{ secrets.DOCKER_USERNAME }}\n          password: ${{ secrets.DOCKER_PASSWORD }}\n\n      - name: Build the Docker image\n        <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: docker build . -t my-image:${{ github.sha }}\n\n      - name: Push the Docker image\n        <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: docker push my-image:${{ github.sha }}<\/code><\/pre>\n<h4>Step 3: Set Up Secrets<\/h4>\n<p>In your GitHub <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\" target=\"_blank\">repositorio<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un repositorio es una ubicaci\u00f3n centralizada donde se almacenan, gestionan y mantienen datos, c\u00f3digo o documentos. Facilita el control de versiones, la colaboraci\u00f3n y el intercambio eficiente de recursos entre los usuarios.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, navigate to <strong>Settings &gt; Secrets<\/strong> and <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/add\/\" target=\"_blank\">a\u00f1adir<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La instrucci\u00f3n ADD en Docker es un comando utilizado en Dockerfiles para copiar archivos y directorios desde una m\u00e1quina anfitriona hacia una imagen de Docker durante el proceso de construcci\u00f3n. No solo facilita la transferencia de archivos locales, sino que tambi\u00e9n proporciona funcionalidades adicionales, como extraer autom\u00e1ticamente archivos comprimidos y obtener archivos remotos a trav\u00e9s de HTTP o HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <code>NOMBRE_USUARIO_DOCKER<\/code> and <code>DOCKER_PASSWORD<\/code> for authentication with <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub es un repositorio basado en la nube para almacenar y compartir im\u00e1genes de contenedores. Facilita el control de versiones, el desarrollo colaborativo y la integraci\u00f3n perfecta con Docker CLI para una gesti\u00f3n eficiente de contenedores.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>2. Usando GitLab CI\/CD<\/h3>\n<p>If you are using GitLab, the process is also straightforward. Here\u2019s how to set it up:<\/p>\n<h4>Step 1: Create a <code>.gitlab-ci.yml<\/code> Archivo<\/h4>\n<p>In the root of your <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\" target=\"_blank\">repositorio<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un repositorio es una ubicaci\u00f3n centralizada donde se almacenan, gestionan y mantienen datos, c\u00f3digo o documentos. Facilita el control de versiones, la colaboraci\u00f3n y el intercambio eficiente de recursos entre los usuarios.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, create a file named <code>.gitlab-ci.yml<\/code>.<\/p>\n<h4>Paso 2: Definir la canalizaci\u00f3n CI\/CD\n\nUna vez que hayas configurado tu repositorio de c\u00f3digo, el siguiente paso es definir la canalizaci\u00f3n CI\/CD. Esta canalizaci\u00f3n automatizar\u00e1 el proceso de compilaci\u00f3n, prueba y despliegue de tu aplicaci\u00f3n.\n\nPara definir la canalizaci\u00f3n CI\/CD, necesitar\u00e1s crear un archivo de configuraci\u00f3n en tu repositorio de c\u00f3digo. Este archivo de configuraci\u00f3n especificar\u00e1 los pasos que se deben seguir en la canalizaci\u00f3n, as\u00ed como las herramientas y servicios que se utilizar\u00e1n.\n\nEl archivo de configuraci\u00f3n de la canalizaci\u00f3n CI\/CD puede escribirse en diferentes lenguajes, como YAML o JSON. En este ejemplo, utilizaremos YAML.\n\nA continuaci\u00f3n, se muestra un ejemplo de un archivo de configuraci\u00f3n de canalizaci\u00f3n CI\/CD en YAML:\n\n```yaml\nstages:\n  - build\n  - test\n  - deploy\n\nbuild_job:\n  stage: build\n  script:\n    - echo \"Compilando la aplicaci\u00f3n...\"\n    - mvn clean compile\n\ntest_job:\n  stage: test\n  script:\n    - echo \"Ejecutando pruebas...\"\n    - mvn test\n\ndeploy_job:\n  stage: deploy\n  script:\n    - echo \"Desplegando la aplicaci\u00f3n...\"\n    - mvn deploy\n```\n\nEn este ejemplo, la canalizaci\u00f3n CI\/CD consta de tres etapas: compilaci\u00f3n, prueba y despliegue. Cada etapa tiene un trabajo asociado que se ejecutar\u00e1 en orden secuencial.\n\nEn el trabajo de compilaci\u00f3n, se ejecuta el comando `mvn clean compile` para compilar la aplicaci\u00f3n. En el trabajo de prueba, se ejecuta el comando `mvn test` para ejecutar las pruebas. Y en el trabajo de despliegue, se ejecuta el comando `mvn deploy` para desplegar la aplicaci\u00f3n.\n\nUna vez que hayas creado el archivo de configuraci\u00f3n de la canalizaci\u00f3n CI\/CD, gu\u00e1rdalo en tu repositorio de c\u00f3digo. Aseg\u00farate de que el archivo est\u00e9 en la ubicaci\u00f3n correcta y con el nombre correcto, seg\u00fan las convenciones de tu herramienta de CI\/CD.\n\nEn el siguiente paso, configuraremos el servidor de integraci\u00f3n continua para que ejecute la canalizaci\u00f3n CI\/CD definida en el archivo de configuraci\u00f3n.<\/h4>\n<p>Aqu\u00ed tienes un ejemplo de una canalizaci\u00f3n GitLab CI\/CD:<\/p>\n<pre><code class=\"language-yaml\">stages:\n  - build\n  - deploy\n\nbuild:\n  stage: build\n  image: docker:latest\n  services:\n    - docker:dind\n  script:\n    - docker build -t my-image:$CI_COMMIT_SHORT_SHA .\n    - echo \"$DOCKER_PASSWORD\" | docker login -u \"$DOCKER_USERNAME\" --password-stdin\n    - docker push my-image:$CI_COMMIT_SHORT_SHA<\/code><\/pre>\n<h4>Paso 3: Configurar variables de CI\/CD<\/h4>\n<p>In your GitLab <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\" target=\"_blank\">repositorio<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un repositorio es una ubicaci\u00f3n centralizada donde se almacenan, gestionan y mantienen datos, c\u00f3digo o documentos. Facilita el control de versiones, la colaboraci\u00f3n y el intercambio eficiente de recursos entre los usuarios.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, navigate to <strong>Settings &gt; CI \/ CD &gt; Variables<\/strong> and <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/add\/\" target=\"_blank\">a\u00f1adir<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La instrucci\u00f3n ADD en Docker es un comando utilizado en Dockerfiles para copiar archivos y directorios desde una m\u00e1quina anfitriona hacia una imagen de Docker durante el proceso de construcci\u00f3n. No solo facilita la transferencia de archivos locales, sino que tambi\u00e9n proporciona funcionalidades adicionales, como extraer autom\u00e1ticamente archivos comprimidos y obtener archivos remotos a trav\u00e9s de HTTP o HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <code>NOMBRE_USUARIO_DOCKER<\/code> and <code>DOCKER_PASSWORD<\/code>.<\/p>\n<h2>Advanced Techniques for Docker Image Automation<\/h2>\n<h3>1. Pruebas automatizadas de im\u00e1genes Docker<\/h3>\n<p>Before deploying Docker images to production, it\u2019s crucial to ensure their reliability through automated tests. You can integrate testing into your CI\/CD pipeline using tools like:<\/p>\n<ul>\n<li><strong><span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor mediante un archivo YAML. Simplifica la implementaci\u00f3n, configuraci\u00f3n y orquestaci\u00f3n de servicios, mejorando la eficiencia en el desarrollo.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/strong>: Para pruebas de integraci\u00f3n de aplicaciones de m\u00faltiples contenedores.<\/li>\n<li><strong>Contenedores de prueba<\/strong>Para ejecutar pruebas en contenedores ligeros y ef\u00edmeros.<\/li>\n<\/ul>\n<h3>2. Image Scanning for Vulnerabilities<\/h3>\n<p>Automate <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> scanning to identify vulnerabilities in your Docker images. Tools like <strong>Trivy<\/strong> or <strong>Claro<\/strong> can be integrated into your CI\/CD pipeline to scan images before they are pushed to production.<\/p>\n<pre><code class=\"language-yaml\"># Example step for <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> scanning using Trivy\n- name: Scan Docker image\n  <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: trivy <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> my-image:${{ github.sha }}<\/code><\/pre>\n<h3>3. Actualizar autom\u00e1ticamente las dependencias<\/h3>\n<p>Usa herramientas como <strong>Renovate<\/strong> or <strong>Dependabot<\/strong> to automate the process of keeping dependencies up to date. This can lead to fewer vulnerabilities and a more stable environment.<\/p>\n<h2>Resumen<\/h2>\n<p>Automating the creation of Docker images is a vital step in modern DevOps practices. By leveraging Dockerfiles, CI\/CD tools, and advanced techniques, you can create a robust, efficient, and secure workflow that enhances your development and deployment processes. <\/p>\n<p>La implementaci\u00f3n de estas mejores pr\u00e1cticas no solo ahorra tiempo, sino que tambi\u00e9n garantiza que sus aplicaciones se construyan y desplieguen de manera consistente y confiable. A medida que sus proyectos crecen y evolucionan, tambi\u00e9n deber\u00edan hacerlo sus estrategias de automatizaci\u00f3n, adapt\u00e1ndose a nuevas herramientas y tecnolog\u00edas que pueden optimizar a\u00fan m\u00e1s sus flujos de trabajo.<\/p>","protected":false},"excerpt":{"rendered":"<p>Automating Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\" target=\"_blank\">imagen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> creation streamlines development processes. Utilize Dockerfiles for consistent builds, integrate CI\/CD tools like Jenkins or GitHub Actions for automated workflows.<\/p>","protected":false},"author":1,"featured_media":314,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deployment-and-orchestration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How do I automate the creation of Docker images? - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/es\/despliegue-y-orquestacion\/how-do-i-automate-the-creation-of-docker-images\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How do I automate the creation of Docker images? - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Automating Docker image creation streamlines development processes. Utilize Dockerfiles for consistent builds, integrate CI\/CD tools like Jenkins or GitHub Actions for automated workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/es\/despliegue-y-orquestacion\/how-do-i-automate-the-creation-of-docker-images\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-21T11:48:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"dockerpros\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"dockerpros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"},\"author\":{\"name\":\"dockerpros\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\"},\"headline\":\"How do I automate the creation of Docker images?\",\"datePublished\":\"2024-07-21T11:48:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"},\"wordCount\":923,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"articleSection\":[\"Deployment and Orchestration\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\",\"url\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\",\"name\":\"How do I automate the creation of Docker images? - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"datePublished\":\"2024-07-21T11:48:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"width\":800,\"height\":600,\"caption\":\"how-do-i-automate-the-creation-of-docker-images-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How do I automate the creation of Docker images?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\",\"name\":\"dockerpros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1783601465\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1783601465\",\"caption\":\"dockerpros\"},\"sameAs\":[\"https:\/\/dockerpros.com\/\"],\"url\":\"https:\/\/dockerpros.com\/es\/author\/dockerpros\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfC\u00f3mo automatizo la creaci\u00f3n de im\u00e1genes de Docker? - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/es\/despliegue-y-orquestacion\/how-do-i-automate-the-creation-of-docker-images\/","og_locale":"es_ES","og_type":"article","og_title":"How do I automate the creation of Docker images? - Dockerpros","og_description":"Automating Docker image creation streamlines development processes. Utilize Dockerfiles for consistent builds, integrate CI\/CD tools like Jenkins or GitHub Actions for automated workflows.","og_url":"https:\/\/dockerpros.com\/es\/despliegue-y-orquestacion\/how-do-i-automate-the-creation-of-docker-images\/","og_site_name":"Dockerpros","article_published_time":"2024-07-21T11:48:00+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","type":"image\/jpeg"}],"author":"dockerpros","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"dockerpros","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#article","isPartOf":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"},"author":{"name":"dockerpros","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4"},"headline":"How do I automate the creation of Docker images?","datePublished":"2024-07-21T11:48:00+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"},"wordCount":923,"commentCount":0,"publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"image":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","articleSection":["Deployment and Orchestration"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","url":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","name":"\u00bfC\u00f3mo automatizo la creaci\u00f3n de im\u00e1genes de Docker? - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","datePublished":"2024-07-21T11:48:00+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","width":800,"height":600,"caption":"how-do-i-automate-the-creation-of-docker-images-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"How do I automate the creation of Docker images?"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Profesionales de Docker","description":"DockerPros \u2013 Tu centro definitivo de recursos Docker","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Profesionales de Docker","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4","name":"profesionales de Docker","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1783601465","contentUrl":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1783601465","caption":"dockerpros"},"sameAs":["https:\/\/dockerpros.com\/"],"url":"https:\/\/dockerpros.com\/es\/author\/dockerpros\/"}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/posts\/211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/comments?post=211"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/posts\/211\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/media\/314"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/media?parent=211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/categories?post=211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/tags?post=211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}