{"id":4210,"date":"2023-06-03T15:42:13","date_gmt":"2023-06-03T13:42:13","guid":{"rendered":"https:\/\/tech.lobobrothers.com\/docker-swarm-photon-portainer\/"},"modified":"2025-02-06T13:24:17","modified_gmt":"2025-02-06T12:24:17","slug":"docker-swarm-photon-portainer","status":"publish","type":"post","link":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/","title":{"rendered":"Docker swarm with Photon and Portainer"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4210\" class=\"elementor elementor-4210 elementor-3983\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4ceddfd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4ceddfd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6df645a\" data-id=\"6df645a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-aeca42e elementor-widget elementor-widget-text-editor\" data-id=\"aeca42e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><strong>INSTALL DOCKER SWARM, PORTAINER Y PHOTON<\/strong><\/h2>\n<p>On this occasion we are going to talk about how to make a docker cluster using Photon as an operating system, very light and has a special kernel for vmware, easily managed with Portainer CE, which has a totally free business version for up to 5 nodes.<\/p>\n<p>The first thing is to see what requirements we need for a docker cluster:<\/p>\n<p style=\"padding-left: 40px;\">Nodes: minimum 3 nodes where it can tolerate the fall of 1<\/p>\n<p style=\"padding-left: 40px;\">Minimum hardware: 4 core \/ 8 GB RAM \/ 200 GB hd for 3 nodes<br \/>\nRecommended hardware: 8 core \/ 16 GB RAM \/ 200 GB hd for 3 nodes<br \/>\nOptional hardware: 8 core+ \/ 16 GB RAM+ \/ 200 GB+ hd for 6 nodes<\/p>\n<p>As it is a laboratory we will set up 3 smaller machines in VirtualBox with Photon, I recommend you download the ISO and do the installation, since the OVA can give you some problems such as not finding the fd0 disk drive. You can find the downloads at https:\/\/github.com\/vmware\/photon\/wiki\/Downloading-Photon-OS<\/p>\n<p><strong>PHOTON OS INSTALLATION<\/strong><\/p>\n<p>It is very simple and fast as you will see below.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3989 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-install-new-es.png\" alt=\"install portainer\" width=\"637\" height=\"477\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-install-new-es.png 637w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-install-new-es-300x225.png 300w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/p>\n<p>Accept vmware terms<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3991 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-license-es.png\" alt=\"photon license adreement\" width=\"720\" height=\"397\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-license-es.png 720w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-license-es-300x165.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-license-es-700x386.png 700w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/p>\n<p>Choose disk<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3993 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-hard-disk-es.png\" alt=\"photon select disk\" width=\"712\" height=\"399\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-hard-disk-es.png 712w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-hard-disk-es-300x168.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-hard-disk-es-700x392.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-hard-disk-es-539x303.png 539w\" sizes=\"(max-width: 712px) 100vw, 712px\" \/><\/p>\n<p>Which version, for production environment the minimum.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3995 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-minimal-es.png\" alt=\"select photon minimal instalation\" width=\"714\" height=\"400\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-minimal-es.png 714w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-minimal-es-300x168.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-minimal-es-700x392.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/photon-minimal-es-539x303.png 539w\" sizes=\"(max-width: 714px) 100vw, 714px\" \/><\/p>\n<p>How do we want to configure the network, each one according to their environment but as a general rule manually to set a fixed IP<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3997 size-medium\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-manually-photon-es-300x166.png\" alt=\"photon network configuration\" width=\"300\" height=\"166\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-manually-photon-es-300x166.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-manually-photon-es-700x386.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-manually-photon-es.png 716w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>We put the network data<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3999 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-photon-es.png\" alt=\"photon set ip\" width=\"715\" height=\"401\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-photon-es.png 715w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-photon-es-300x168.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-photon-es-700x393.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-network-photon-es-539x303.png 539w\" sizes=\"(max-width: 715px) 100vw, 715px\" \/><\/p>\n<p>Now the name of the machine<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4003 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-hostname-photon-es.png\" alt=\"photon hostname\" width=\"713\" height=\"399\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-hostname-photon-es.png 713w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-hostname-photon-es-300x168.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-hostname-photon-es-700x392.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-hostname-photon-es-539x303.png 539w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><\/p>\n<p>Root password and confirmation<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4005 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-root-password-photon-es.png\" alt=\"photon set password\" width=\"711\" height=\"401\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-root-password-photon-es.png 711w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-root-password-photon-es-300x169.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-root-password-photon-es-700x395.png 700w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/set-root-password-photon-es-539x303.png 539w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/p>\n<p>And finally confirm<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4011 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/start-installation-confirm-es.png\" alt=\"photon confirm instalation\" width=\"717\" height=\"396\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/start-installation-confirm-es.png 717w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/start-installation-confirm-es-300x166.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/start-installation-confirm-es-700x387.png 700w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/p>\n<p>And that&#8217;s it, we&#8217;d have our first node, and we&#8217;d deploy 2 more. Note that if the installation were in a vmware environment there would be one more step where it asks you if you want the generic kernel or the kernel optimized for vmware.<\/p>\n<p>Photon comes with docker installed but disabled, simply run:<\/p>\n<p style=\"padding-left: 40px;\">systemctl enable docker<\/p>\n<p style=\"padding-left: 40px;\">systemctl start docker<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4045 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-system-enable-es.png\" alt=\"photon enable docker\" width=\"939\" height=\"89\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-system-enable-es.png 939w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-system-enable-es-300x28.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-system-enable-es-768x73.png 768w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-system-enable-es-700x66.png 700w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/p>\n<p>The following would be up to the consumer, photon comes with iptables and an English keyboard by default, so as not to go on too long we will disable iptables and set the keyboard to Spanish.<\/p>\n<p>On each machine run:<\/p>\n<p style=\"padding-left: 40px;\">systemctl stop iptables<\/p>\n<p style=\"padding-left: 40px;\">systemctl disable iptables<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4022 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/system-stop-iptables-es.png\" alt=\"photon disable iptables\" width=\"672\" height=\"100\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/system-stop-iptables-es.png 672w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/system-stop-iptables-es-300x45.png 300w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/p>\n<p>In this distribution the package manager is tdnf, we execute the following for the keyboard:<\/p>\n<p style=\"padding-left: 40px;\">tdnf install kbd<\/p>\n<p style=\"padding-left: 40px;\">loadkeys es<\/p>\n<p style=\"padding-left: 40px;\">localectl set-keymap es<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4024 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/tdnf-install-kbd-es.png\" alt=\"photon install kbd\" width=\"720\" height=\"256\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/tdnf-install-kbd-es.png 720w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/tdnf-install-kbd-es-300x107.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/tdnf-install-kbd-es-700x249.png 700w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/p>\n<p>On the other hand, the ssh service does not allow remote root login, for convenience when creating the cluster we will enable it by adding PermitRootLogin in the configuration file \/etc\/ssh\/sshd_config<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4031 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/ssh-permit-root-login-es.png\" alt=\"photon permit root login\" width=\"489\" height=\"330\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/ssh-permit-root-login-es.png 489w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/ssh-permit-root-login-es-300x202.png 300w\" sizes=\"(max-width: 489px) 100vw, 489px\" \/><\/p>\n<p>And we restart service<\/p>\n<p style=\"padding-left: 40px;\">systemctl restart sshd<\/p>\n<p>Once we have done this on the three machines we will create the cluster<\/p>\n<p><strong>DOCKER SWARM<\/strong><\/p>\n<p>On the first node we run the following<\/p>\n<p style=\"padding-left: 40px;\">docker swarm init &#8211;advertise-addr 192.168.1.200<\/p>\n<p>Here I will make a clarification for those who use vmware with NSX, the default port for NSX VXLAN communication is UDP 4789 which is the one used by docker swarm for overlay network traffic, therefore we would enter into conflict and we would have a problem, therefore in vmware we would execute this command to change the port for example to 9789<\/p>\n<p style=\"padding-left: 40px;\">docker swarm init &#8211;data-path-port=9789 &#8211;advertise-addr 192.168.1.200<\/p>\n<p>This conflict is hard to see but when you install the portainer agent it will give you the error <strong>context deadline exceeded (Client.Timeout exceeded while awaiting headers)<\/strong><\/p>\n<p>Returning what we should execute on each node to add it as a worker,<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4047 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-init-es.png\" alt=\"docker swarm init\" width=\"951\" height=\"238\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-init-es.png 951w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-init-es-300x75.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-init-es-768x192.png 768w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-init-es-700x175.png 700w\" sizes=\"(max-width: 951px) 100vw, 951px\" \/><\/p>\n<p>but we are not going to execute it in this case, we are going to add the machines as manager and they will be workers too, so we have a multi-manager and multi-node cluster, since we need 3 for the quorum. We execute<\/p>\n<p style=\"padding-left: 40px;\">docker swarm join-token manager<\/p>\n<p>And it returns us what we have to execute on the other two machines to be manager<\/p>\n<p style=\"padding-left: 40px;\">docker swarm join &#8211;token SWMTKN-1-0lzh7zsccaajsgeccy64osgbtkzi3b1bt2cm9ofd7kww0f375q-d24p6xhclfrp8gpxg8m4hkzy2 1<br \/>\n92.168.1.200:2377<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4049 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-token-es.png\" alt=\"docker swarm join token manager\" width=\"943\" height=\"123\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-token-es.png 943w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-token-es-300x39.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-token-es-768x100.png 768w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-token-es-700x91.png 700w\" sizes=\"(max-width: 943px) 100vw, 943px\" \/><\/p>\n<p>We run it on the other two and if everything is correct the following will appear:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4051 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-es.png\" alt=\"docker swarm join\" width=\"941\" height=\"70\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-es.png 941w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-es-300x22.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-es-768x57.png 768w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm-join-es-700x52.png 700w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><\/p>\n<p>To see our cluster:<\/p>\n<p style=\"padding-left: 40px;\">docker node ls<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4058 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3.png\" alt=\"docker node ls\" width=\"805\" height=\"108\" srcset=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3.png 805w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3-300x40.png 300w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3-768x103.png 768w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3-800x108.png 800w, https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-node-ls-3-700x94.png 700w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/p>\n<p>Perfect, we already have our cluster where we could start working, but we will make it easy with Portainer CE.<\/p>\n<p><strong>Portainer CE<\/strong><\/p>\n<p>We can install portainer in the cluster itself, but it is better to have it external, so that in case of a crash we can see what is happening. To do this, we install another docker but in standalone mode and execute the following, that is, we can create another machine just like we have done but without adding it to the cluster, working independently.<\/p>\n<p>First we create a volume so that our data persists:<\/p>\n<p style=\"padding-left: 40px;\">docker volume create portainer_data<\/p>\n<p>And we deploy:<\/p>\n<div data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlLWxpbmUlMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMmRvY2tlciUyMHJ1biUyMC1kJTIwLXAlMjA4MDAwJTNBODAwMCUyMC1wJTIwOTQ0MyUzQTk0NDMlMjAtLW5hbWUlMjBwb3J0YWluZXIlMjAtLXJlc3RhcnQlM0RhbHdheXMlMjAtdiUyMCUyRnZhciUyRnJ1biUyRmRvY2tlci5zb2NrJTNBJTJGdmFyJTJGcnVuJTJGZG9ja2VyLnNvY2slMjAtdiUyMHBvcnRhaW5lcl9kYXRhJTNBJTJGZGF0YSUyMHBvcnRhaW5lciUyRnBvcnRhaW5lci1jZSUzQWxhdGVzdCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTJDJTIyc2VsZWN0aW9ucyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmFmM2Y2N2YwMjJiZTQ4NDBhZWY5NzgxYTA5OWM0M2JlJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMmNkZjcyYzRmMzc4NDc1MmE5MTNhMWMzZmY3NDg0ZTYlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI5YWYzMGY1ZGQyNzE0YjAwYWQ2Yzg2ZmZiNDU3NTc4MSUyMiU3RA==\">\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2\">\n<div class=\"view_SggA- flex_jZskO blockWrapper_y0Ubs\">\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2 r-18u37iz r-1777fci\" data-rnwr1490-1777fci=\"true\" data-rnwr700-1777fci=\"true\">\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2\">\n<div class=\"css-175oi2r\">\n<div class=\"css-175oi2r\">\n<div class=\"view_SggA- flex_jZskO block_UxARL mediumVertical_-Vaii mediumTop_QDiZG mediumBottom_jdYUb\" data-key=\"34466ab4a66b4e27b81a66998fafae66\">\n<div class=\"r-1oszu61 r-1xc7w19 r-1phboty r-1yadl64 r-deolkf r-6koalj r-eqz5dr r-crgep1 r-ifefl9 r-bcqeeo r-t60dpp r-bnwqim r-417010 r-1ro0kt6 r-16y2uox r-1wbh5a2\" data-block-content=\"34466ab4a66b4e27b81a66998fafae66\">\n<div class=\"css-175oi2r r-1vckr1u r-z2wwpe r-bnwqim\" data-rnwi-5xr8s6-dse9kg-2fw26j-190peyn-focus-visible=\"true\" data-rnwi-handle=\"codeblock-toolbar\">\n<div class=\"r-1oszu61 r-1xc7w19 r-1phboty r-1yadl64 r-deolkf r-6koalj r-1mlwlqe r-eqz5dr r-1q142lx r-crgep1 r-ifefl9 r-bcqeeo r-t60dpp r-bnwqim r-417010 r-5njf8e r-1dqxon3\" spellcheck=\"false\">\n<div class=\"css-175oi2r r-2awvau\">\n<div class=\"css-175oi2r r-6koalj r-18u37iz\">\n<div class=\"css-1rynq56 r-1v6e3re r-i023vh r-yrgyi6 r-uibjmv r-1b43r93 r-majxgm r-hbpseb r-1nf4jbm r-1xnzce8\" dir=\"auto\" style=\"padding-left: 40px;\"><span data-key=\"cc752566f3df46108d8f80a3be48b3db\">docker run -d -p 8000:8000 -p 9443:9443 &#8211;name portainer &#8211;restart=always -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v portainer_data:\/data portainer\/portainer-ce:latest<\/span><\/div>\n<div dir=\"auto\"><img decoding=\"async\" class=\"aligncenter wp-image-4081 size-full\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-volume-create.png\" alt=\"deploy docker portainer\" width=\"945\" height=\"370\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"r-1xc7w19 r-1phboty r-1yadl64 r-deolkf r-6koalj r-1mlwlqe r-1q142lx r-crgep1 r-ifefl9 r-bcqeeo r-t60dpp r-417010 r-u8s1d r-3mc0re r-18u37iz r-1awozwy\" contenteditable=\"false\" data-rnwicodeblock-toolbar-hidden-=\"true\" data-rnwicodeblock-toolbar-visible-hover-focus=\"true\" data-rnwi-handle=\"nearest\">\n<div class=\"css-175oi2r r-1i6wzkk r-lrvibr r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-rs99b7 r-18u37iz r-18kxxzh r-1777fci r-1ny4l3l r-z2wwpe r-1472mwg r-14lw9ot r-1wgstfn r-1jsra8 r-1h9q8wt r-mk0yit r-lrsllp\" tabindex=\"0\" role=\"button\" aria-label=\"Copy\" data-rnwi-1vckr1u-29dh1f-1jsra8-hover-focus=\"true\" data-rnwi-5xr8s6-dse9kg-2fw26j-190peyn-focus-visible=\"true\" data-rnwi-handle=\"button\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2\">\n<div class=\"view_SggA- flex_jZskO blockWrapper_y0Ubs\">\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2 r-18u37iz r-1777fci\" data-rnwr1490-1777fci=\"true\" data-rnwr700-1777fci=\"true\">\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2\">\n<div class=\"css-175oi2r\">\n<div class=\"css-175oi2r\">\n<div class=\"view_SggA- flex_jZskO block_UxARL mediumVertical_-Vaii mediumTop_QDiZG mediumBottom_jdYUb\" data-key=\"2c225f9db7474ac7a183b3f379b009b5\">\n<div class=\"r-1oszu61 r-1xc7w19 r-1phboty r-1yadl64 r-deolkf r-6koalj r-eqz5dr r-crgep1 r-ifefl9 r-bcqeeo r-t60dpp r-417010 r-1ro0kt6 r-16y2uox r-1wbh5a2 r-bnwqim r-13qz1uu\" data-block-content=\"2c225f9db7474ac7a183b3f379b009b5\">\n<div class=\"css-175oi2r r-1vckr1u r-119zq30 r-z2wwpe r-11g3r6m r-18u37iz\">\n<div class=\"css-175oi2r r-rwqe4o r-18u37iz r-1777fci\">Now we have to go to the browser and open https:\/\/ipmachine:9443 and accept the certificate, since it is a self-signed one that you can replace in the web configuration.<br \/>\nIt asks us to enter the user and password or recover from a backup.<\/div>\n<div><img decoding=\"async\" class=\"aligncenter wp-image-4083 size-large\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/portainer-change-password-1024x823.png\" alt=\"login portainer\" width=\"800\" height=\"643\" \/><\/div>\n<div class=\"css-175oi2r r-1ro0kt6 r-16y2uox r-1wbh5a2\">\n<div class=\"css-175oi2r\">\n<div class=\"css-175oi2r\">\n<div class=\"view_SggA- flex_jZskO block_UxARL mediumVertical_-Vaii mediumTop_QDiZG mediumBottom_jdYUb\" data-key=\"89c72556dcb94239add5f2a0995d9ef2\">\n<div class=\"r-1oszu61 r-1xc7w19 r-1phboty r-1yadl64 r-deolkf r-6koalj r-eqz5dr r-crgep1 r-ifefl9 r-bcqeeo r-t60dpp r-bnwqim r-417010 r-1ro0kt6 r-16y2uox r-1wbh5a2\" data-block-content=\"89c72556dcb94239add5f2a0995d9ef2\">\n<div class=\"css-1rynq56 r-gg6oyi r-ubezar r-16dba41 r-135wba7 r-1nf4jbm r-fdjqy7 r-1xnzce8\" dir=\"auto\">Once inside we go to Environments and click Add Environment on the right.<\/div>\n<div dir=\"auto\"><img decoding=\"async\" class=\"aligncenter wp-image-4085 size-large\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/portainer-enviroinments-1024x219.png\" alt=\"portainer enviroinment\" width=\"800\" height=\"171\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>We select docker swarm and click on start wizard.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4087 size-large\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/portainer-quick-setup-1024x386.png\" alt=\"portainer quick setup\" width=\"800\" height=\"302\" \/><\/p>\n<p>In the next screen we choose agent and fill in Name and Environment address with 192.168.1.200:9001, the rest of the options are to assign group, label and then user permissions to the different environments.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4092 size-large\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/portainer-agent-1024x800.png\" alt=\"portainer docker swarm\" width=\"800\" height=\"625\" \/><\/p>\n<p>And now it&#8217;s as simple as copying and pasting the command that it tells us in our main node, waiting for it to install the agent docker and then clicking Connect.<\/p>\n<p style=\"padding-left: 40px;\">docker network create \\ &#8211;driver overlay \\ portainer_agent_network docker service create \\ &#8211;name portainer_agent \\ &#8211;network portainer_agent_network \\ -p 9001:9001\/tcp \\ &#8211;mode global \\ &#8211;constraint &#8216;node.platform.os == linux&#8217; \\ &#8211;mount type=bind,src=\/\/var\/run\/docker.sock,dst=\/var\/run\/docker.sock \\ &#8211;mount type=bind,src=\/\/var\/lib\/docker\/volumes,dst=\/var\/lib\/docker\/volumes \\ portainer\/agent:2.18.3<\/p>\n<p>With this we can now manage our Docker cluster from Portainer, making our life easier. I love Portainer, congratulations Team for this great piece of software that you offer us.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4099 size-large\" src=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/portainer-1-1024x303.png\" alt=\"portainer dashboard enviroinments\" width=\"800\" height=\"237\" \/><\/p>\n<p>From here I&#8217;ll leave it up to you to discover all the options, I can assure you that you&#8217;re going to love it.<\/p>\n<p>Have a nice weekend!!!<\/p>\n<p>TL.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7f03d3 elementor-widget elementor-widget-heading\" data-id=\"c7f03d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">FAQS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b329e36 elementor-widget elementor-widget-toggle\" data-id=\"b329e36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1871\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-1871\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What is Photon OS?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1871\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-1871\"><p>Photon OS is a lightweight operating system developed by VMware, optimized for virtualized and containerized environments. Its minimalist design and specialized kernel make it ideal for running Docker efficiently.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1872\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-1872\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What is Docker Swarm?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1872\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-1872\"><p><strong>Docker Swarm<\/strong> is a Docker-native orchestration tool that allows you to manage multiple containers in a server cluster. With Swarm, you can easily deploy, scale, and manage applications across multiple nodes, without the need for external tools like Kubernetes.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1873\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-1873\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What is Portainer?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1873\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-1873\"><p>Portainer is a web-based user interface that simplifies the management of Docker environments. With Portainer, you can intuitively monitor and manage your Docker Swarm cluster, deploy applications, monitor resources, and manage services from a centralized platform.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1874\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-1874\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Is it recommended to install Portainer inside the Docker Swarm cluster?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1874\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-1874\"><p>While it is possible, it is recommended to install Portainer on a separate instance outside of the cluster. This ensures that in case the cluster experiences issues, you can still access Portainer to diagnose and resolve any issues.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is Photon OS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>Photon OS is a lightweight operating system developed by VMware, optimized for virtualized and containerized environments. Its minimalist design and specialized kernel make it ideal for running Docker efficiently.<\\\/p>\\n\"}},{\"@type\":\"Question\",\"name\":\"What is Docker Swarm?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><strong>Docker Swarm<\\\/strong> is a Docker-native orchestration tool that allows you to manage multiple containers in a server cluster. With Swarm, you can easily deploy, scale, and manage applications across multiple nodes, without the need for external tools like Kubernetes.<\\\/p>\\n\"}},{\"@type\":\"Question\",\"name\":\"What is Portainer?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>Portainer is a web-based user interface that simplifies the management of Docker environments. With Portainer, you can intuitively monitor and manage your Docker Swarm cluster, deploy applications, monitor resources, and manage services from a centralized platform.<\\\/p>\\n\"}},{\"@type\":\"Question\",\"name\":\"Is it recommended to install Portainer inside the Docker Swarm cluster?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>While it is possible, it is recommended to install Portainer on a separate instance outside of the cluster. This ensures that in case the cluster experiences issues, you can still access Portainer to diagnose and resolve any issues.<\\\/p>\\n\"}}]}<\/script>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>INSTALL DOCKER SWARM, PORTAINER Y PHOTON On this occasion we are going to talk about how to make a docker cluster using Photon as an operating system, very light and has a special kernel for vmware, easily managed with Portainer CE, which has a totally free business version for up to 5 nodes. The first [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49,50],"tags":[],"class_list":["post-4210","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-world","category-open-source"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker swarm with Photon and Portainer - LBT<\/title>\n<meta name=\"description\" content=\"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker swarm with Photon and Portainer - LBT\" \/>\n<meta property=\"og:description\" content=\"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog sobre linux y el mundo opensource\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/LoboBrothers\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-03T13:42:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-06T12:24:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1281\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TL\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TL\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\"},\"author\":{\"name\":\"TL\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/11c359ab9896aa196007651fa6208beb\"},\"headline\":\"Docker swarm with Photon and Portainer\",\"datePublished\":\"2023-06-03T13:42:13+00:00\",\"dateModified\":\"2025-02-06T12:24:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\"},\"wordCount\":1188,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp\",\"articleSection\":[\"Linux World\",\"Open Source\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\",\"url\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\",\"name\":\"Docker swarm with Photon and Portainer - LBT\",\"isPartOf\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp\",\"datePublished\":\"2023-06-03T13:42:13+00:00\",\"dateModified\":\"2025-02-06T12:24:17+00:00\",\"description\":\"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer\",\"breadcrumb\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage\",\"url\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp\",\"contentUrl\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp\",\"width\":1920,\"height\":1281,\"caption\":\"Docker Swarm\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/tech.lobobrothers.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker swarm with Photon and Portainer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#website\",\"url\":\"https:\/\/tech.lobobrothers.com\/en\/\",\"name\":\"Tech LBT\",\"description\":\"Como apasionados de la tecnolog\u00eda y amantes del open source creamos este blog con art\u00edculos interesantes obre linux, cloud, open source, criptomonedas y ciberseguridad\",\"publisher\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tech.lobobrothers.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#organization\",\"name\":\"Lobo Brothers Technology\",\"url\":\"https:\/\/tech.lobobrothers.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2019\/06\/logo_red.png\",\"contentUrl\":\"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2019\/06\/logo_red.png\",\"width\":110,\"height\":50,\"caption\":\"Lobo Brothers Technology\"},\"image\":{\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/LoboBrothers\/\",\"https:\/\/www.linkedin.com\/company\/lobobrothers\/about\/?viewAsMember=true\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/11c359ab9896aa196007651fa6208beb\",\"name\":\"TL\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a2d3b9e0b67bd28fe8248346c09cbe07?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a2d3b9e0b67bd28fe8248346c09cbe07?s=96&d=mm&r=g\",\"caption\":\"TL\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker swarm with Photon and Portainer - LBT","description":"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer","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:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/","og_locale":"en_US","og_type":"article","og_title":"Docker swarm with Photon and Portainer - LBT","og_description":"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer","og_url":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/","og_site_name":"Blog sobre linux y el mundo opensource","article_publisher":"https:\/\/www.facebook.com\/LoboBrothers\/","article_published_time":"2023-06-03T13:42:13+00:00","article_modified_time":"2025-02-06T12:24:17+00:00","og_image":[{"width":1920,"height":1281,"url":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp","type":"image\/jpeg"}],"author":"TL","twitter_card":"summary_large_image","twitter_misc":{"Written by":"TL","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#article","isPartOf":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/"},"author":{"name":"TL","@id":"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/11c359ab9896aa196007651fa6208beb"},"headline":"Docker swarm with Photon and Portainer","datePublished":"2023-06-03T13:42:13+00:00","dateModified":"2025-02-06T12:24:17+00:00","mainEntityOfPage":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/"},"wordCount":1188,"commentCount":0,"publisher":{"@id":"https:\/\/tech.lobobrothers.com\/en\/#organization"},"image":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage"},"thumbnailUrl":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp","articleSection":["Linux World","Open Source"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/","url":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/","name":"Docker swarm with Photon and Portainer - LBT","isPartOf":{"@id":"https:\/\/tech.lobobrothers.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage"},"image":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage"},"thumbnailUrl":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp","datePublished":"2023-06-03T13:42:13+00:00","dateModified":"2025-02-06T12:24:17+00:00","description":"DOCKER SWARM, PORTAINER AND PHOTON how to make a docker cluster using Photon as operating system managing with Portainer","breadcrumb":{"@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#primaryimage","url":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp","contentUrl":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2023\/06\/docker-swarm.jpg.webp","width":1920,"height":1281,"caption":"Docker Swarm"},{"@type":"BreadcrumbList","@id":"https:\/\/tech.lobobrothers.com\/en\/docker-swarm-photon-portainer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/tech.lobobrothers.com\/en\/"},{"@type":"ListItem","position":2,"name":"Docker swarm with Photon and Portainer"}]},{"@type":"WebSite","@id":"https:\/\/tech.lobobrothers.com\/en\/#website","url":"https:\/\/tech.lobobrothers.com\/en\/","name":"Tech LBT","description":"Como apasionados de la tecnolog\u00eda y amantes del open source creamos este blog con art\u00edculos interesantes obre linux, cloud, open source, criptomonedas y ciberseguridad","publisher":{"@id":"https:\/\/tech.lobobrothers.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tech.lobobrothers.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/tech.lobobrothers.com\/en\/#organization","name":"Lobo Brothers Technology","url":"https:\/\/tech.lobobrothers.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2019\/06\/logo_red.png","contentUrl":"https:\/\/tech.lobobrothers.com\/wp-content\/uploads\/2019\/06\/logo_red.png","width":110,"height":50,"caption":"Lobo Brothers Technology"},"image":{"@id":"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/LoboBrothers\/","https:\/\/www.linkedin.com\/company\/lobobrothers\/about\/?viewAsMember=true"]},{"@type":"Person","@id":"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/11c359ab9896aa196007651fa6208beb","name":"TL","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tech.lobobrothers.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a2d3b9e0b67bd28fe8248346c09cbe07?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a2d3b9e0b67bd28fe8248346c09cbe07?s=96&d=mm&r=g","caption":"TL"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/posts\/4210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/comments?post=4210"}],"version-history":[{"count":3,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/posts\/4210\/revisions"}],"predecessor-version":[{"id":8103,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/posts\/4210\/revisions\/8103"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/media\/4118"}],"wp:attachment":[{"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/media?parent=4210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/categories?post=4210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.lobobrothers.com\/en\/wp-json\/wp\/v2\/tags?post=4210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}