{"id":3669,"date":"2023-04-04T12:15:08","date_gmt":"2023-04-04T15:15:08","guid":{"rendered":"https:\/\/www.gauchocode.com\/docker-containers-start-a-beginners-guide-to-docker-basics\/"},"modified":"2024-08-07T10:32:48","modified_gmt":"2024-08-07T13:32:48","slug":"docker-containers-start-a-beginners-guide-to-docker-basics","status":"publish","type":"post","link":"https:\/\/www.gauchocode.com\/es\/docker-containers-start-a-beginners-guide-to-docker-basics\/","title":{"rendered":"Empezando con los contenedores Docker: una gu\u00eda para principiantes sobre los conceptos b\u00e1sicos de Docker"},"content":{"rendered":"\n<p>Si eres nuevo en el mundo Docker, es posible que te preguntes qu\u00e9 son los contenedores Docker y c\u00f3mo empezar a utilizarlos. Docker es una poderosa herramienta que le permite crear y ejecutar aplicaciones de una manera port\u00e1til y eficiente. En este art\u00edculo, cubriremos los conceptos b\u00e1sicos de los contenedores Docker y te mostraremos c\u00f3mo comenzar a usarlos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 son los contenedores Docker?<\/h2>\n\n\n\n<p>Los contenedores Docker son entornos ligeros, port\u00e1tiles y aut\u00f3nomos que permiten empaquetar y ejecutar aplicaciones con todas sus dependencias. Los contenedores son similares a las m\u00e1quinas virtuales (VM), pero son mucho m\u00e1s eficientes y f\u00e1ciles de usar. Los contenedores no requieren un sistema operativo independiente, por lo que pueden ejecutarse m\u00e1s r\u00e1pido y con menos sobrecarga que las m\u00e1quinas virtuales ( VMs).<br><br>Los contenedores Docker se basan en im\u00e1genes, que son plantillas predise\u00f1adas que contienen todo lo necesario para ejecutar una aplicaci\u00f3n. Las im\u00e1genes incluyen el c\u00f3digo de la aplicaci\u00f3n, las bibliotecas y cualquier otra dependencia necesaria para ejecutar. Puedes pensar en las im\u00e1genes como los bloques de construcci\u00f3n de los contenedores Docker.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-c0729070 gb-headline-text\">Algunos conceptos m\u00e1s<\/h3>\n\n\n\n<p><strong>Registro Docker: <\/strong>Un registro Docker es un repositorio central donde se almacenan y distribuyen las im\u00e1genes de Docker. El registro m\u00e1s utilizado es Docker Hub, que es un registro p\u00fablico que aloja millones de im\u00e1genes predise\u00f1adas. Tambi\u00e9n puedes configurar tu propio registro privado para almacenar y compartir im\u00e1genes dentro de tu organizaci\u00f3n.<\/p>\n\n\n\n<p><strong>Dockerfile: <\/strong>Un Dockerfile es un archivo de texto que contiene un conjunto de instrucciones para crear una imagen de Docker. Cada instrucci\u00f3n del Dockerfile crea una nueva capa en la imagen. Mediante el uso de un Dockerfile, puede automatizar el proceso de creaci\u00f3n y configuraci\u00f3n de sus im\u00e1genes, lo que facilita su reproducci\u00f3n y compartici\u00f3n.<br><br><strong>Volumen Docke:<\/strong> Un volumen Docker es una forma de almacenar y administrar datos en un contenedor. Los vol\u00famenes se crean y administran fuera del contenedor, y se pueden compartir entre contenedores. Los vol\u00famenes se utilizan a menudo para conservar datos entre reinicios de contenedores y para compartir datos entre ellos.<br><br><strong>Gesti\u00f3n de redes:<\/strong> Docker proporciona un potente sistema de red que permite que los contenedores se comuniquen entre s\u00ed, as\u00ed como con el sistema host y otras redes externas. De forma predeterminada, cada contenedor est\u00e1 conectado a una red virtual, lo que proporciona aislamiento y seguridad.<br><br><strong>Docker Compose:<\/strong> Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker de varios contenedores. Con Docker Compose, puedes definir los servicios, las redes y los vol\u00famenes de tu aplicaci\u00f3n en un solo archivo YAML y, luego, usar un solo comando para iniciar y detener toda la aplicaci\u00f3n. Esto facilita la administraci\u00f3n de aplicaciones complejas que constan de varios contenedores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo iniciar contenedores Docker?<\/h2>\n\n\n\n<p>Para iniciar un contenedor Docker, debe seguir estos pasos b\u00e1sicos:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Instalar docker<\/h4>\n\n\n\n<p>El primer paso es instalar Docker en su sistema. Docker est\u00e1 disponible para Windows, macOS y Linux. Puedes descargar la versi\u00f3n adecuada para tu sistema desde el sitio web de Docker.<br><br>Para instalar Docker en Ubuntu, puedes seguir estos pasos:<br><br>Actualice el \u00edndice de paquetes apt e instale los paquetes para permitir que apt use un repositorio a trav\u00e9s de HTTPS:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>sudo apt-get update\nsudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common<\/code><\/pre>\n\n\n\n<p>Agregue la clave GPG oficial de Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -<\/code><\/pre>\n\n\n\n<p>Utilice el siguiente comando para configurar el repositorio estable de Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>sudo add-apt-repository \"deb &#91;arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\"<\/code><\/pre>\n\n\n\n<p>Actualice el \u00edndice de paquetes apt e instale la \u00faltima versi\u00f3n de Docker CE y containerd:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>sudo apt-get update\nsudo apt-get install docker-ce docker-ce-cli containerd.io<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Install docker-compose<\/h4>\n\n\n\n<p>Docker Compose es una herramienta que te permite definir y ejecutar aplicaciones de Docker de varios contenedores. Para instalar Docker Compose en Ubuntu, sigue estos pasos:<br><br>Descarga la versi\u00f3n estable actual de Docker Compose:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n\n\n\n<p>Aplique permisos ejecutables al binario:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>sudo chmod +x \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n\n\n\n<p>Compruebe que la instalaci\u00f3n se ha realizado correctamente comprobando la versi\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>docker-compose --version<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Definir un servicio en el archivo de Docker Compose<\/h4>\n\n\n\n<p>Para empezar, vamos a crear un archivo docker-compose.yml. Por ejemplo, podemos definir un servicio para el contenedor Nginx dentro de \u00e9l utilizando la imagen oficial de Nginx de Docker Hub. Necesitamos especificar el punto de montaje para los archivos del servidor web, que se ubicar\u00e1 en el directorio \/var\/www\/html.<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>version: '3'\n\nservices:\n\n  web:\n    image: nginx\n    volumes:\n      - .\/webserver-files:\/var\/www\/html\n    ports:\n      - \"80:80\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Construir o extraer la imagen<\/h4>\n\n\n\n<p>Dado que estamos utilizando la imagen oficial de Nginx de Docker Hub, no necesitamos construir la imagen. Simplemente podemos extraerlo ejecutando el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>docker-compose pull<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Iniciar el contenedor<\/h4>\n\n\n\n<p>Inicie el contenedor Nginx ejecutando el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code language-docker line-numbers\"><code>docker-compose up -d<\/code><\/pre>\n\n\n\n<p>Una vez que el contenedor se est\u00e9 ejecutando, puede conectarse al servidor web abriendo un navegador web y navegando hasta http:\/\/localhost. Deber\u00eda ver la p\u00e1gina web predeterminada de Nginx. Cualquier archivo colocado en el directorio.\/webserver-files en su m\u00e1quina local ser\u00e1 servido por el servidor web, ya que est\u00e1 montado como el directorio ra\u00edz del servidor web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Los contenedores Docker son una herramienta eficaz para crear, implementar y ejecutar aplicaciones de forma port\u00e1til y eficiente. Con Docker, puede empaquetar sus aplicaciones y sus dependencias en contenedores ligeros y port\u00e1tiles que pueden ejecutarse en cualquier lugar. Siguiendo los pasos b\u00e1sicos descritos en este art\u00edculo, puede comenzar a usar los contenedores Docker hoy mismo y aprovechar sus muchos beneficios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sed porttitor lectus nibh. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Proin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a. Sed porttitor lectus nibh.<\/p>\n","protected":false},"author":2,"featured_media":3138,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-3669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"acf":[],"custom_fields":{"_pingme":["1"],"_encloseme":["1"],"rank_math_internal_links_processed":["1","1"],"rank_math_analytic_object_id":["129"],"rank_math_seo_score":["12"],"rank_math_primary_category":["50"],"rank_math_focus_keyword":["Docker Containers Start"],"_dp_original":["414"],"rank_math_pillar_content":["on"],"rank_math_description":["Docker Containers Start: Docker containers are lightweight, portable, and self-contained environments that allow you to package and run applications with all their dependencies."],"_generateblocks_dynamic_css_version":["1.9.1"],"_wpml_word_count":["{\"total\":1008,\"to_translate\":{\"en\":1008,\"pt-br\":1008}}"],"_thumbnail_id":["3138"],"_edit_lock":["1723037570:4"],"_last_translation_edit_mode":["native-editor"],"_edit_last":["4"],"_wpml_media_duplicate":["1"],"_wpml_media_featured":["1"]},"_links":{"self":[{"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/posts\/3669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/comments?post=3669"}],"version-history":[{"count":0,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/posts\/3669\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/media\/3138"}],"wp:attachment":[{"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/media?parent=3669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/categories?post=3669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gauchocode.com\/es\/wp-json\/wp\/v2\/tags?post=3669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}