{"id":338,"date":"2024-03-03T10:39:05","date_gmt":"2024-03-03T10:39:05","guid":{"rendered":"https:\/\/whitesolutionit.com\/?p=338"},"modified":"2025-07-18T15:29:40","modified_gmt":"2025-07-18T15:29:40","slug":"docker-swarm","status":"publish","type":"post","link":"https:\/\/whitesolutionit.com\/?p=338","title":{"rendered":"Docker Swarm"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hoy vamos a hablar de Docker Swarm, es una herramienta de orquestaci\u00f3n de contenedores<sup data-fn=\"b12bc80c-f613-45d8-a687-b45914caf9eb\" class=\"fn\"><a href=\"#b12bc80c-f613-45d8-a687-b45914caf9eb\" id=\"b12bc80c-f613-45d8-a687-b45914caf9eb-link\">1<\/a><\/sup>,  dise\u00f1ada para gestionar, desplegar y escalar un cl\u00faster de nodos Docker como un \u00fanico sistema virtual. Simplifica el manejo de un cl\u00faster de hosts Docker al convertirlos en un \u00fanico host Docker virtual, lo que lo convierte en una excelente opci\u00f3n para desarrolladores y administradores de sistemas que buscan una forma eficiente de orquestar el despliegue de contenedores.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Caracter\u00edsticas Clave de Docker Swarm<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Configuraci\u00f3n F\u00e1cil y R\u00e1pida<\/strong>: Configurar un cl\u00faster de Docker Swarm es sencillo, lo que permite un r\u00e1pido despliegue de aplicaciones.<\/li>\n\n\n\n<li><strong>Dise\u00f1o Descentralizado<\/strong>: Docker Swarm utiliza un dise\u00f1o descentralizado que distribuye los servicios a trav\u00e9s de m\u00faltiples nodos, mejorando la fiabilidad y la tolerancia a fallos.<\/li>\n\n\n\n<li><strong>Balanceo de Carga<\/strong>: Distribuye las cargas de trabajo de los contenedores de manera uniforme a trav\u00e9s del cl\u00faster, mejorando la utilizaci\u00f3n de recursos y la capacidad de respuesta.<\/li>\n\n\n\n<li><strong>Escalabilidad<\/strong>: Escala las aplicaciones f\u00e1cilmente hacia arriba o hacia abajo seg\u00fan la demanda, sin interrumpir las operaciones en curso.<\/li>\n\n\n\n<li><strong>Descubrimiento de Servicios<\/strong>: El descubrimiento de servicios integrado permite que los contenedores se encuentren y comuniquen entre s\u00ed de manera eficiente.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">C\u00f3mo Funciona Docker Swarm<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Swarm opera agrupando m\u00faltiples hosts. El cl\u00faster es gestionado por los nodos maestros de Swarm que se encargan de la orquestaci\u00f3n y programaci\u00f3n de contenedores en los nodos trabajadores. Los usuarios interact\u00faan con el Swarm usando la CLI de Docker o la API. Las tareas se distribuyen en base a las configuraciones que hagamos para el reparto de tareas y los recursos disponibles en maquinas en esa prioridad.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Elementos Docker Swarm<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Imagen<\/strong> es un archivo inmutable que contiene el c\u00f3digo fuente, las bibliotecas, las dependencias, las herramientas y otros archivos necesarios para que una aplicaci\u00f3n funcione. Es la base de un contenedor y se crea a trav\u00e9s de instrucciones en un archivo Dockerfile.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># Dockerfile para crear una imagen de nginx<br>FROM nginx:latest<br>COPY .\/html \/usr\/share\/nginx\/html<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker build -t mi-nginx .<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Contenedor<\/strong>: es la unidad m\u00e1s b\u00e1sica del cl\u00faster en el se ejecutan un proceso o una aplicaci\u00f3n usando una imagen previamente creada como referencia.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker run -d --name mi-nginx -p 8080:80 nginx<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Servicio: <\/strong> Define la imagen que se va a usar en el contenedor, adem\u00e1s de las pol\u00edticas de ejecuci\u00f3n, la cantidad de r\u00e9plicas, configuraciones de red, y pol\u00edticas de actualizaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker service create --name mi-servicio-nginx --replicas 3 mi-nginx<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Red Overlay<\/strong>:  Permite que los contenedores de un servicio de Docker Swarm se comuniquen entre s\u00ed, independientemente del nodo f\u00edsico en el que est\u00e9n ejecutando. Utiliza una red virtual que se sit\u00faa sobre las redes de los nodos.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker network create -d overlay mi-red-overlay<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker service create --name mi-servicio-nginx --network mi-red-overlay --replicas 3 mi-nginx<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Balanceador de Carga<\/strong>: Distribuye las solicitudes entre los contenedores de un servicio. Esto es cr\u00edtico para manejar la carga de manera eficiente y garantizar la disponibilidad y escalabilidad del servicio.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker service create --name mi-servicio-nginx --publish 80:80 --replicas 3 mi-nginx<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Construcci\u00f3n del cl\u00faster<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La construcci\u00f3n es muy sencilla hay que entrar en un nodo del cluster y escribir el siguiente comando:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creaci\u00f3n del cluster<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">$docker swarm init --advertise-addr &lt;ip-nodo&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Swarm initialized: current node (xyz1234abcd) is now a manager.<br><br>To add a worker to this swarm, run the following command:<br><br>    docker swarm join --token SWMTKN-1-0xyz1234abcd5678efgh-ijklmnopqrstu &lt;ip-nodo&gt;:2377<br><br>To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"> Como vemos en el mensaje para a\u00f1adir otro nodo a este cl\u00faster tan solo tenemos que entrar en dicho nodo y lanzar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Asociar un worker al cl\u00faster<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">$docker swarm join --token SWMTKN-1-0xyz1234abcd5678efgh-ijklmnopqrstu &lt;ip-nodo&gt;:2377<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">This node joined a swarm as a worker.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Asociar un master al cl\u00faster<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hemos aprendido  a a\u00f1adir un nuevo worker pero si queremos a\u00f1adir otro master para tener HA el paso es muy similar, desde el nodo master que ya tiene el cl\u00faster creado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker swarm join-token manager<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">To add a manager to this swarm, run the following command:<br><br>    docker swarm join --token SWMTKN-1-xxxyyyzzz1234567890-abcdefghijklmn &lt;ip-nodo&gt;:2377<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n de cl\u00faster <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Desplegar contenedores en un nodo concreto<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para desplegar unos contenedores en un nodo especifico debemos crear una etiqueta en el nodo worker.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker node update --label-add &lt;clave>=&lt;valor> &lt;nombre_del_nodo><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando creemos el contenedor demos usar el par\u00e1metro <em>constraint<\/em> para indicarle la etiqueta del nodo en el que lo queremos desplegar.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker service create  --name &lt;nombre_del_servicio> --constraint 'node.labels.&lt;clave> == &lt;valor>'  &lt;imagen_del_contenedor><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recursos Reservados y L\u00edmites<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A nivel de configuraci\u00f3n del cl\u00faster, tambi\u00e9n podemos especificar l\u00edmites de recursos y reservas para los servicios, lo que nos puede ayudar a gestionar c\u00f3mo se utilizan los recursos del cl\u00faster y asegurar que los servicios tengan acceso a los recursos que necesitan.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker service create \\<br>  --name mi-nginx \\<br>  --replicas 3 \\<br>  --reserve-cpu 0.5 \\<br>  --reserve-memory 256M \\<br>  nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para configurar esto en un servicio de Docker Swarm, puedes usar los flags <code>--limit-cpu<\/code>, <code>--limit-memory<\/code>, <code>--reserve-cpu<\/code>, y <code>--reserve-memory<\/code> al crear o actualizar servicios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Actualizaciones y Pol\u00edticas de Reinicio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las pol\u00edticas de actualizaci\u00f3n en Docker Swarm permiten controlar c\u00f3mo y cu\u00e1ndo se actualizan los servicios para introducir nuevas versiones de im\u00e1genes o cambios en la configuraci\u00f3n de los servicios. Esto es especialmente \u00fatil para implementar actualizaciones sin tiempo de inactividad (rolling updates) y para asegurar que el servicio contin\u00fae disponible durante la actualizaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configuraci\u00f3n de una Pol\u00edtica de Actualizaci\u00f3n:<\/strong> Cuando creas o actualizas un servicio en Docker Swarm, puedes especificar opciones relacionadas con la pol\u00edtica de actualizaci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--update-delay<\/code>: El tiempo de espera entre la actualizaci\u00f3n de una r\u00e9plica y la siguiente. Esto ayuda a asegurar que no todas las r\u00e9plicas se actualicen al mismo tiempo, lo que podr\u00eda llevar a tiempo de inactividad.<\/li>\n\n\n\n<li><code>--update-parallelism<\/code>: El n\u00famero de r\u00e9plicas que se pueden actualizar simult\u00e1neamente.<\/li>\n\n\n\n<li><code>--update-failure-action<\/code>: Define lo que debe suceder si una actualizaci\u00f3n falla. Las opciones incluyen <code>pause<\/code> (pausar la actualizaci\u00f3n), <code>continue<\/code> (continuar con la actualizaci\u00f3n), o <code>rollback<\/code> (revertir a la versi\u00f3n anterior).<\/li>\n<\/ul>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"b12bc80c-f613-45d8-a687-b45914caf9eb\"><br>Orquestar contenedores significa automatizar y gestionar el ciclo de vida de los contenedores de aplicaciones. La herramienta, en este caso Docker Swarm, se encarga que los contenedores tengan las replicas que se especifican, que se haga balanceo de red entre los distintos contenedores o que los contenedores est\u00e9n dando un buen servicio, entre varias gestiones que se explican en la secci\u00f3n  Caracter\u00edsticas Clave de Docker Swarm <a href=\"#b12bc80c-f613-45d8-a687-b45914caf9eb-link\" aria-label=\"Saltar a la referencia de la nota 1\">\u21a9\ufe0e<\/a><\/li><\/ol>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a hablar de Docker Swarm, es una herramienta de orquestaci\u00f3n de contenedores, dise\u00f1ada para gestionar, desplegar y escalar un cl\u00faster de nodos Docker como un \u00fanico sistema virtual. Simplifica el manejo de un cl\u00faster de hosts Docker al convertirlos en un \u00fanico host Docker virtual, lo que lo convierte en una excelente opci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":318,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[{\"content\":\"<br>Orquestar contenedores significa automatizar y gestionar el ciclo de vida de los contenedores de aplicaciones. La herramienta, en este caso Docker Swarm, se encarga que los contenedores tengan las replicas que se especifican, que se haga balanceo de red entre los distintos contenedores o que los contenedores est\u00e9n dando un buen servicio, entre varias gestiones que se explican en la secci\u00f3n  Caracter\u00edsticas Clave de Docker Swarm\",\"id\":\"b12bc80c-f613-45d8-a687-b45914caf9eb\"}]"},"categories":[27],"tags":[23,22,21],"class_list":["post-338","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts","tag-container","tag-devops","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Docker Swarm - White Solution IT<\/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:\/\/whitesolutionit.com\/?p=338\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Swarm - White Solution IT\" \/>\n<meta property=\"og:description\" content=\"Hoy vamos a hablar de Docker Swarm, es una herramienta de orquestaci\u00f3n de contenedores, dise\u00f1ada para gestionar, desplegar y escalar un cl\u00faster de nodos Docker como un \u00fanico sistema virtual. Simplifica el manejo de un cl\u00faster de hosts Docker al convertirlos en un \u00fanico host Docker virtual, lo que lo convierte en una excelente opci\u00f3n [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/whitesolutionit.com\/?p=338\" \/>\n<meta property=\"og:site_name\" content=\"White Solution IT\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-03T10:39:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-18T15:29:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Jaime Blanco\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jaime Blanco\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#article\",\"isPartOf\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338\"},\"author\":{\"name\":\"Jaime Blanco\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98\"},\"headline\":\"Docker Swarm\",\"datePublished\":\"2024-03-03T10:39:05+00:00\",\"dateModified\":\"2025-07-18T15:29:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338\"},\"wordCount\":871,\"publisher\":{\"@id\":\"https:\/\/whitesolutionit.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#primaryimage\"},\"thumbnailUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp\",\"keywords\":[\"Container\",\"DevOps\",\"Docker\"],\"articleSection\":[\"posts\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=338\",\"url\":\"https:\/\/whitesolutionit.com\/?p=338\",\"name\":\"Docker Swarm - White Solution IT\",\"isPartOf\":{\"@id\":\"https:\/\/whitesolutionit.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#primaryimage\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#primaryimage\"},\"thumbnailUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp\",\"datePublished\":\"2024-03-03T10:39:05+00:00\",\"dateModified\":\"2025-07-18T15:29:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/whitesolutionit.com\/?p=338\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#primaryimage\",\"url\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp\",\"contentUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp\",\"width\":450,\"height\":450},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=338#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/whitesolutionit.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Swarm\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/whitesolutionit.com\/#website\",\"url\":\"https:\/\/whitesolutionit.com\/\",\"name\":\"White Solution IT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/whitesolutionit.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/whitesolutionit.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/whitesolutionit.com\/#organization\",\"name\":\"White Solution IT\",\"url\":\"https:\/\/whitesolutionit.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif\",\"contentUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif\",\"width\":500,\"height\":500,\"caption\":\"White Solution IT\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98\",\"name\":\"Jaime Blanco\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g\",\"caption\":\"Jaime Blanco\"},\"url\":\"https:\/\/whitesolutionit.com\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Swarm - White Solution IT","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:\/\/whitesolutionit.com\/?p=338","og_locale":"es_ES","og_type":"article","og_title":"Docker Swarm - White Solution IT","og_description":"Hoy vamos a hablar de Docker Swarm, es una herramienta de orquestaci\u00f3n de contenedores, dise\u00f1ada para gestionar, desplegar y escalar un cl\u00faster de nodos Docker como un \u00fanico sistema virtual. Simplifica el manejo de un cl\u00faster de hosts Docker al convertirlos en un \u00fanico host Docker virtual, lo que lo convierte en una excelente opci\u00f3n [&hellip;]","og_url":"https:\/\/whitesolutionit.com\/?p=338","og_site_name":"White Solution IT","article_published_time":"2024-03-03T10:39:05+00:00","article_modified_time":"2025-07-18T15:29:40+00:00","og_image":[{"width":450,"height":450,"url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp","type":"image\/webp"}],"author":"Jaime Blanco","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Jaime Blanco","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/whitesolutionit.com\/?p=338#article","isPartOf":{"@id":"https:\/\/whitesolutionit.com\/?p=338"},"author":{"name":"Jaime Blanco","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98"},"headline":"Docker Swarm","datePublished":"2024-03-03T10:39:05+00:00","dateModified":"2025-07-18T15:29:40+00:00","mainEntityOfPage":{"@id":"https:\/\/whitesolutionit.com\/?p=338"},"wordCount":871,"publisher":{"@id":"https:\/\/whitesolutionit.com\/#organization"},"image":{"@id":"https:\/\/whitesolutionit.com\/?p=338#primaryimage"},"thumbnailUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp","keywords":["Container","DevOps","Docker"],"articleSection":["posts"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/whitesolutionit.com\/?p=338","url":"https:\/\/whitesolutionit.com\/?p=338","name":"Docker Swarm - White Solution IT","isPartOf":{"@id":"https:\/\/whitesolutionit.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/whitesolutionit.com\/?p=338#primaryimage"},"image":{"@id":"https:\/\/whitesolutionit.com\/?p=338#primaryimage"},"thumbnailUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp","datePublished":"2024-03-03T10:39:05+00:00","dateModified":"2025-07-18T15:29:40+00:00","breadcrumb":{"@id":"https:\/\/whitesolutionit.com\/?p=338#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/whitesolutionit.com\/?p=338"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/?p=338#primaryimage","url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp","contentUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2020\/01\/4695749.webp","width":450,"height":450},{"@type":"BreadcrumbList","@id":"https:\/\/whitesolutionit.com\/?p=338#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/whitesolutionit.com\/"},{"@type":"ListItem","position":2,"name":"Docker Swarm"}]},{"@type":"WebSite","@id":"https:\/\/whitesolutionit.com\/#website","url":"https:\/\/whitesolutionit.com\/","name":"White Solution IT","description":"","publisher":{"@id":"https:\/\/whitesolutionit.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/whitesolutionit.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/whitesolutionit.com\/#organization","name":"White Solution IT","url":"https:\/\/whitesolutionit.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/","url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif","contentUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif","width":500,"height":500,"caption":"White Solution IT"},"image":{"@id":"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98","name":"Jaime Blanco","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g","caption":"Jaime Blanco"},"url":"https:\/\/whitesolutionit.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=338"}],"version-history":[{"count":5,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/338\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/338\/revisions\/375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/media\/318"}],"wp:attachment":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}