{"id":1053,"date":"2024-06-29T13:10:18","date_gmt":"2024-06-29T13:10:18","guid":{"rendered":"https:\/\/dsantana.uas.edu.mx\/?p=1053"},"modified":"2025-01-17T22:43:40","modified_gmt":"2025-01-17T22:43:40","slug":"dockerfile","status":"publish","type":"post","link":"https:\/\/dsantana.uas.edu.mx\/index.php\/2024\/06\/29\/dockerfile\/","title":{"rendered":"Dockerfile"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"682\" height=\"163\" src=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2024\/06\/Docker_container_engine_logo.png\" alt=\"\" class=\"wp-image-1013\" srcset=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2024\/06\/Docker_container_engine_logo.png 682w, https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2024\/06\/Docker_container_engine_logo-300x72.png 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/figure>\n\n\n\n<p>Un <strong>Dockerfile <\/strong>es un documento de texto que contiene todas las instrucciones necesarias para construir una imagen de Docker. En \u00e9l, se describen los comandos que un usuario podr\u00eda ejecutar en la l\u00ednea de comandos para ensamblar una imagen. Algunas de las instrucciones m\u00e1s comunes en un Dockerfile son:<\/p>\n\n\n\n<p><strong>FROM:<\/strong> Define la imagen base desde la cual se construir\u00e1 la nueva imagen.<br><strong>RUN:<\/strong> Ejecuta comandos durante la construcci\u00f3n de la imagen.<br><strong>COPY <\/strong>y<strong> ADD:<\/strong> Copian archivos y directorios al sistema de archivos del contenedor.<br><strong>ENV:<\/strong> Establece variables de entorno.<br><strong>EXPOSE:<\/strong> Describe los puertos en los que la aplicaci\u00f3n est\u00e1 escuchando.<br><strong>CMD y ENTRYPOINT:<\/strong> Especifican el comando predeterminado que se ejecutar\u00e1 al iniciar un contenedor.<br><\/p>\n\n\n\n<p>Aqu\u00ed tienes un ejemplo b\u00e1sico de un archivo&nbsp;<strong>Dcokerfile<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Usar una imagen base oficial de Debian\nFROM debian:12\n\n# Evitar interacciones durante la instalaci\u00f3n de paquetes\nARG DEBIAN_FRONTEND=noninteractive\n\n# Actualizar paquetes e instalar Apache\nRUN apt-get update &amp;&amp; apt-get install -y \\\n    apache2 \\\n    &amp;&amp; apt-get clean\n\n# Copiar archivos HTML al directorio ra\u00edz de Apache\nCOPY .\/html\/ \/var\/www\/html\/\n\n# Exponer el puerto 80 para el servidor web\nEXPOSE 80\n\n# Comando para iniciar Apache en primer plano\nCMD &#91;\"apachectl\", \"-D\", \"FOREGROUND\"]<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un Dockerfile es un documento de texto que contiene todas las instrucciones necesarias para construir una imagen de Docker. En \u00e9l, se describen los comandos que un usuario podr\u00eda ejecutar en la l\u00ednea de comandos para ensamblar una imagen. Algunas de las instrucciones m\u00e1s comunes en un Dockerfile son: FROM: Define la imagen base desde la cual se construir\u00e1 la nueva imagen.RUN: Ejecuta comandos durante la construcci\u00f3n de la imagen.COPY y ADD: Copian archivos y directorios al sistema de archivos del contenedor.ENV: Establece variables de entorno.EXPOSE: Describe los puertos en los que la aplicaci\u00f3n est\u00e1 escuchando.CMD y ENTRYPOINT: Especifican el comando predeterminado que se ejecutar\u00e1 al iniciar un contenedor. Aqu\u00ed tienes un ejemplo b\u00e1sico de un archivo&nbsp;Dcokerfile<\/p>\n","protected":false},"author":1,"featured_media":1652,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98,5,80,99,6,79],"tags":[],"class_list":["post-1053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-contenedores","category-docencia","category-docker","category-docker-contenedores","category-talleres","category-virtualizacion"],"_links":{"self":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/1053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/comments?post=1053"}],"version-history":[{"count":6,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/1053\/revisions"}],"predecessor-version":[{"id":1649,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/1053\/revisions\/1649"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media\/1652"}],"wp:attachment":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media?parent=1053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/categories?post=1053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/tags?post=1053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}