CINXE.COM
How to Configure Docker Swarm - UpCloud
<!DOCTYPE html> <html lang="en-US" prefix="og: http://ogp.me/ns#"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.upcloud.com/support/how-to-configure-docker-swarm/","20171223191002","https://web.archive.org/","web","/_static/", "1514056202"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width"> <meta name="format-detection" content="telephone=no"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <title>How to Configure Docker Swarm - UpCloud</title> <style>@font-face {font-family: "sw-icon-font";src:url("https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/fonts/sw-icon-font.eot?ver=2.3.2");src:url("https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/fonts/sw-icon-font.eot?ver=2.3.2#iefix") format("embedded-opentype"),url("https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/fonts/sw-icon-font.woff?ver=2.3.2") format("woff"), url("https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/fonts/sw-icon-font.ttf?ver=2.3.2") format("truetype"),url("https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/fonts/sw-icon-font.svg?ver=2.3.2#1445203416") format("svg");font-weight: normal;font-style: normal;}</style> <meta name="description" content="Docker Swarm is the Docker native clustering solution, which can turn a group of distributed Docker hosts into a single large virtual server."/> <link rel="canonical" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/how-to-configure-docker-swarm/"/> <meta property="og:locale" content="en_US"/> <meta property="og:type" content="article"/> <meta property="og:title" content="How to Configure Docker Swarm - UpCloud"/> <meta property="og:description" content="Docker Swarm is the Docker native clustering solution, which can turn a group of distributed Docker hosts into a single large virtual server."/> <meta property="og:url" content="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/how-to-configure-docker-swarm/"/> <meta property="og:site_name" content="UpCloud"/> <meta property="article:section" content="Tutorials"/> <meta property="article:published_time" content="2016-03-17T11:59:58+00:00"/> <meta property="article:modified_time" content="2016-04-22T10:14:08+00:00"/> <meta property="og:updated_time" content="2016-04-22T10:14:08+00:00"/> <meta property="og:image" content="https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm.png"/> <meta property="og:image:secure_url" content="https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm.png"/> <meta name="twitter:card" content="summary"/> <meta name="twitter:description" content="Docker Swarm is the Docker native clustering solution, which can turn a group of distributed Docker hosts into a single large virtual server."/> <meta name="twitter:title" content="How to Configure Docker Swarm - UpCloud"/> <meta name="twitter:site" content="@upcloud"/> <meta name="twitter:image" content="https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm.png"/> <meta name="twitter:creator" content="@upcloud"/> <script type="application/ld+json">{"@context":"https:\/\/web.archive.org\/web\/20171223191002\/http:\/\/schema.org","@type":"WebSite","@id":"#website","url":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/www.upcloud.com\/support\/","name":"Support Center","potentialAction":{"@type":"SearchAction","target":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/www.upcloud.com\/support\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script> <script type="application/ld+json">{"@context":"https:\/\/web.archive.org\/web\/20171223191002\/http:\/\/schema.org","@type":"Organization","url":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/www.upcloud.com\/support\/how-to-configure-docker-swarm\/","sameAs":["https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/twitter.com\/upcloud"],"@id":"#organization","name":"UpCloud","logo":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/www.upcloud.com\/support\/wp-content\/uploads\/2016\/08\/logo-grey_arrow.png"}</script> <link rel="dns-prefetch" href="//web.archive.org/web/20171223191002/https://fonts.googleapis.com/"/> <link rel="dns-prefetch" href="//web.archive.org/web/20171223191002/https://s.w.org/"/> <link rel="alternate" type="application/rss+xml" title="UpCloud » Feed" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/feed/"/> <link rel="alternate" type="application/rss+xml" title="UpCloud » Comments Feed" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/comments/feed/"/> <link rel="alternate" type="application/rss+xml" title="UpCloud » How to Configure Docker Swarm Comments Feed" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/how-to-configure-docker-swarm/feed/"/> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/s.w.org\/images\/core\/emoji\/2.3\/72x72\/","ext":".png","svgUrl":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/s.w.org\/images\/core\/emoji\/2.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/web.archive.org\/web\/20171223191002\/https:\/\/www.upcloud.com\/support\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.8.4"}}; !function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,56826,8203,55356,56819),0,0),c=j.toDataURL(),b!==c&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55358,56794,8205,9794,65039),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55358,56794,8203,9794,65039),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel="stylesheet" id="social_warfare-css" href="https://web.archive.org/web/20171223191002cs_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/css/style.min.css?ver=2.3.2" type="text/css" media="all"/> <link rel="stylesheet" id="theme-style-css" href="https://web.archive.org/web/20171223191002cs_/https://www.upcloud.com/support/wp-content/themes/KnowHow/style.css?ver=4.8.4" type="text/css" media="all"/> <style id="theme-style-inline-css" type="text/css"> /* Links */ a, a:visited { color:#497cb1; } a:hover, .widget a:hover, #primary-nav ul a:hover, #footer-nav a:hover, #breadcrumbs a:hover { color:#155faf; } /* Theme Color */ #commentform #submit, .st_faq h2.active .action, .widget_categories ul span, .pagination .current, .tags a, .page-links span, #comments .comment-meta .author-badge, input[type="reset"], input[type="submit"], input[type="button"] { background: #497cb1; } #live-search #searchsubmit, input[type="submit"] { background-color: #497cb1; } .tags a:before { border-color: transparent #497cb1 transparent transparent; } #primary-nav { top: px; } </style> <link rel="stylesheet" id="theme-font-css" href="https://web.archive.org/web/20171223191002cs_/https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,700&subset=latin,latin-ext" type="text/css" media="all"/> <link rel="stylesheet" id="font-awesome-css" href="https://web.archive.org/web/20171223191002cs_/https://www.upcloud.com/support/wp-content/themes/KnowHow/css/font-awesome.min.css?ver=4.8.4" type="text/css" media="all"/> <link rel="stylesheet" id="shortcodes-css" href="https://web.archive.org/web/20171223191002cs_/https://www.upcloud.com/support/wp-content/themes/KnowHow/framework/shortcodes/shortcodes.css?ver=4.8.4" type="text/css" media="all"/> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-includes/js/jquery/jquery.js?ver=1.12.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1"></script> <link rel="https://api.w.org/" href="https://www.upcloud.com/support/wp-json/"/> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.upcloud.com/support/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.upcloud.com/support/wp-includes/wlwmanifest.xml"/> <meta name="generator" content="WordPress 4.8.4"/> <link rel="shortlink" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/?p=1680"/> <link rel="alternate" type="application/json+oembed" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F"/> <link rel="alternate" type="text/xml+oembed" href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F&format=xml"/> <!--[if lt IE 9]><script src="https://www.upcloud.com/support/wp-content/themes/KnowHow/js/html5.js"></script><![endif]--><!--[if (gte IE 6)&(lte IE 8)]><script src="https://www.upcloud.com/support/wp-content/themes/KnowHow/js/selectivizr-min.js"></script><![endif]--><style type="text/css" id="syntaxhighlighteranchor"></style> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://web.archive.org/web/20171223191002cs_/https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300" rel="stylesheet" type="text/css"> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-57x57-6ed634e4f1.png"/> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-114x114-019b03d693.png"/> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-72x72-134298f217.png"/> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-144x144-a8efa7ec5d.png"/> <link rel="apple-touch-icon-precomposed" sizes="60x60" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-60x60-d6f80ed1b2.png"/> <link rel="apple-touch-icon-precomposed" sizes="120x120" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-120x120-d4a81ddc7a.png"/> <link rel="apple-touch-icon-precomposed" sizes="76x76" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-76x76-9098845f07.png"/> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/apple-touch-icon-152x152-dee2fd7ebd.png"/> <link rel="icon" type="image/png" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/favicon-196x196-b5835cab1e.png" sizes="196x196"/> <link rel="icon" type="image/png" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/favicon-96x96-eb13423feb.png" sizes="96x96"/> <link rel="icon" type="image/png" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/favicon-32x32-3253eef3c9.png" sizes="32x32"/> <link rel="icon" type="image/png" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/favicon-16x16-56fa38e4ee.png" sizes="16x16"/> <link rel="icon" type="image/png" href="/web/20171223191002im_/https://www.upcloud.com/assets/images/favicon-128x128-b4d2a7b721.png" sizes="128x128"/> <meta name="application-name" content="UpCloud"/> <meta name="msapplication-TileColor" content="#FFFFFF"/> <meta name="msapplication-TileImage" content="/assets/images/mstile-144x144-a8efa7ec5d.png"/> <meta name="msapplication-square70x70logo" content="/assets/images/mstile-70x70-b4d2a7b721.png"/> <meta name="msapplication-square150x150logo" content="/assets/images/mstile-150x150-86c16dad64.png"/> <meta name="msapplication-wide310x150logo" content="/assets/images/mstile-310x150-d868916434.png"/> <meta name="msapplication-square310x310logo" content="/assets/images/mstile-310x310-aceb7cfa92.png"/> <meta name="msapplication-notification" content="frequency=30;polling-uri=http://notifications.buildmypinnedsite.com/?feed=https://www.upcloud.com/blog/feed/&id=1;polling-uri2=http://notifications.buildmypinnedsite.com/?feed=https://www.upcloud.com/blog/feed/&id=2;polling-uri3=http://notifications.buildmypinnedsite.com/?feed=https://www.upcloud.com/blog/feed/&id=3;polling-uri4=http://notifications.buildmypinnedsite.com/?feed=https://www.upcloud.com/blog/feed/&id=4;polling-uri5=http://notifications.buildmypinnedsite.com/?feed=https://www.upcloud.com/blog/feed/&id=5;cycle=1"/> <link rel="stylesheet" href="//web.archive.org/web/20171223191002cs_/https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> <link rel="stylesheet" href="//web.archive.org/web/20171223191002cs_/https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <link id="theme-style" rel="stylesheet" href="/web/20171223191002cs_/https://www.upcloud.com/assets/css/app-f5071bc259.css"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <script src="//web.archive.org/web/20171223191002js_/https://code.jquery.com/jquery-1.11.3.min.js"></script> <noscript><iframe src="//web.archive.org/web/20171223191002if_/https://www.googletagmanager.com/ns.html?id=GTM-MPT264" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//web.archive.org/web/20171223191002/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MPT264');</script> <script> function gEvent(category, action, label) { ga('send', 'event', category, action, label); } </script> </head> <body class="post-template-default single single-post postid-1680 single-format-standard"> <header id="header"> <nav class="navbar navbar-fixed-top navbar-detached" role="navigation"> <div class="navbar-header"> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="logo"> <a href="/web/20171223191002/https://www.upcloud.com/"> <img id="nav-logo-white" style="max-width: 150px" alt="UpCloud - World's fastest cloud servers" src="/web/20171223191002im_/https://www.upcloud.com/assets/images/logo-white-557ee643d8.png"/> <img id="nav-logo-color" style="max-width: 150px; display: none;" alt="UpCloud - World's fastest cloud servers" src="/web/20171223191002im_/https://www.upcloud.com/assets/images/logo_color-c4eab474a9.png"/> </a> </div> </div> <div id="navbar-collapse" class="collapse navbar-collapse"> <ul class="nav navbar-nav navbar-right navbar-content"> <li class="nav-item"><a href="/web/20171223191002/https://www.upcloud.com/features/">Features</a></li> <li class="nav-item dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="gEvent( 'EN', 'Navigation', 'developers-dropdown' );">Developers <i class="fa fa-angle-down"></i></a> <ul class="dropdown-menu"> <li><a href="/web/20171223191002/https://www.upcloud.com/support/getting-started-with-upclouds-api/" onclick="gEvent( 'EN', 'Navigation', 'developers-get-started' );">Getting started</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/api/" onclick="gEvent( 'EN', 'Navigation', 'developers-api' );">API docs</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/support/category/api/" onclick="gEvent( 'EN', 'Navigation', 'developers-tutorials' );">Tutorials</a></li> <li><a href="https://web.archive.org/web/20171223191002/https://github.com/UpCloudLtd" onclick="gEvent( 'EN', 'Navigation', 'developers-github' );" target="_blank">Github <i class="fa fa-external-link"></i></a></li> </ul> </li> <li class="nav-item"><a href="/web/20171223191002/https://www.upcloud.com/pricing/">Pricing</a></li> <li class="nav-item dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="gEvent( 'EN', 'Navigation', 'compare-dropdown' );">Compare us <i class="fa fa-angle-down"></i></a> <ul class="dropdown-menu"> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/aws-ec2/" onclick="gEvent( 'EN', 'Navigation', 'compare-aws-ec2' );">AWS EC2</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/azure/" onclick="gEvent( 'EN', 'Navigation', 'compare-azure' );">Azure</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/digitalocean/" onclick="gEvent( 'EN', 'Navigation', 'compare-digitalocean' );">DigitalOcean</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/dedicated-server/" onclick="gEvent( 'EN', 'Navigation', 'compare-dedicated-server' );">Dedicated server</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/linode/" onclick="gEvent( 'EN', 'Navigation', 'compare-linode' );">Linode</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/vultr/" onclick="gEvent( 'EN', 'Navigation', 'compare-vultr' );">Vultr</a></li> </ul> </li> <li class="nav-item dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="gEvent( 'EN', 'Navigation', 'more-dropdown' );">More <i class="fa fa-angle-down"></i></a> <ul class="dropdown-menu"> <li><a href="/web/20171223191002/https://www.upcloud.com/company/" onclick="gEvent( 'EN', 'Navigation', 'more-about-us' );">About us</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/blog/" onclick="gEvent( 'EN', 'Navigation', 'more-blog' );">Blog</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/company/careers/" onclick="gEvent( 'EN', 'Navigation', 'more-careers' );">Careers</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/company/contactus/" onclick="gEvent( 'EN', 'Navigation', 'more-contact-us' );">Contact us</a></li> </ul> </li> <li class="nav-item"><a href="/web/20171223191002/https://www.upcloud.com/support/">Help</a></li> <li class="nav-item"><a href="https://web.archive.org/web/20171223191002/https://my.upcloud.com/">Sign in</a></li> <li class="nav-item nav-item-cta"> <a class="btn btn-cta-secondary" href="/web/20171223191002/https://www.upcloud.com/signup/"> Sign up </a> </li> <li class="nav-item dropdown last"> <a class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="0" data-close-others="false" href="#"> <span style="font-size: 1.5rem"><i class="fa fa-globe"></i></span> </a> <ul class="dropdown-menu"> <li><a href="/web/20171223191002/https://www.upcloud.com/"> English <img class="pull-right lang-selection-choice-img" alt="English" src="/web/20171223191002im_/https://www.upcloud.com/assets/images/flag-en-lang-1effcc0c77.png"> </a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/fi/"> Finnish <img class="pull-right lang-selection-choice-img" alt="Finnish (Suomi)" src="/web/20171223191002im_/https://www.upcloud.com/assets/images/flag-fi-lang-e5ed00a79d.png"> </a></li> </ul> </li> </ul> </div> </nav> </header> <div id="site-container" class="clearfix"> <div id="live-search"> <div class="kn-container"> <div id="search-wrap"> <form role="search" method="get" id="searchform" class="clearfix" action="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/"> <input type="text" onfocus="if (this.value == 'Have a question? Ask or enter a search term.') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Have a question? Ask or enter a search term.';}" value="Have a question? Ask or enter a search term." name="s" id="s" autocapitalize="off" autocorrect="off" autocomplete="off"/> <i class="live-search-loading fa fa-spinner fa-spin"></i> <button type="submit" id="searchsubmit"> <i class="fa fa-search"></i><span>Search</span> </button> </form> </div> </div> </div> <div id="primary" class="sidebar-right clearfix"> <div class="kn-container"> <section id="content" role="main"> <header id="page-header" class="clearfix"> <h1 class="page-title">How to Configure Docker Swarm</h1> <div id="breadcrumbs"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support"><icon class="fa fa-home"></i></a><span class="sep">/</span><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/tutorials/" title="View all posts in Tutorials">Tutorials</a> <span class="sep">/</span>How to Configure Docker Swarm</div></header> <ul class="entry-meta clearfix"> <li class="category"> <i class="fa fa-folder-close"></i> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/tutorials/" rel="category tag">Tutorials</a> </li> </ul> <article id="post-1680" class="clearfix post-1680 post type-post status-publish format-standard hentry category-tutorials"> <header class="entry-header"> </header> <div class="entry-content"> <p>Distributing your web application over a cluster of cloud compute resources can significantly improve performance and availability. Docker Swarm is the Docker native clustering solution, which can turn a group of distributed Docker hosts into a single large virtual server.</p> <p><img class="alignnone size-full wp-image-1705" src="https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm.png" alt="Docker Swarm" width="1508" height="775" srcset="https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm.png 1508w, https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm-300x154.png 300w, https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm-768x395.png 768w, https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm-1024x526.png 1024w, https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm-60x31.png 60w, https://web.archive.org/web/20171223191002im_/https://www.upcloud.com/support/wp-content/uploads/2016/03/Docker-Swarm-150x77.png 150w" sizes="(max-width: 1508px) 100vw, 1508px"/></p> <p>Docker Swarm provides the standard Docker API, and it can communicate with any tool that already works with Docker daemon allowing easy scaling to multiple hosts. With resources pooled in a Swarm cluster, your application can run as if it was installed on an extreme performance server while allowing easy scaling by adding or removing resources at the same time. This guide goes through the steps for setting up a simple Docker Swarm cluster.</p> <h3 id="step-2-create-your-instances">Deploy your cloud servers</h3> <p>To start with, you are going to need to <a href="https://web.archive.org/web/20171223191002/https://my.upcloud.com/server/create">deploy servers</a> to run the cluster. In this guide, the Swarm will be installed on five servers, a primary manager and a backup manager, a <em>consul</em> server and two compute nodes. Alternatively, it is possible to run a simpler Docker Swarm on a group of three instances, a single manager with <em>consul</em> on the same host and two separate worker nodes like in the first example.</p> <p>When deploying the cloud servers for the cluster, note that while Docker itself will work on most Linux distributions. CentOS and other Red Hat variants might require additional steps to allow the Swarm to communicate because of their stricter default firewall rules.</p> <p>Deploy new servers for your Swarm cluster.</p> <ul> <li>manager1</li> <li>manager2</li> <li>consul</li> <li>node1</li> <li>node2</li> </ul> <p>Once the new hosts are up and running, perform the usual security preparations e.g. update the system, add users and SSH keys. You can find help with these steps at the guides for <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/managing-linux-user-account-security/">Managing Linux User Account Security</a> and <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/using-ssh-keys-for-authentication/">Using SSH-keys for Authentication</a>.</p> <h3>Install Docker Engine on each server</h3> <p>With the initial configurations done, install the Docker Engine on each of the servers in your cluster. You will need the curl command line utility to do this. If it is not already installed, you can get it with one of the commands below applicable to your system.</p> <pre># Debian and Ubuntu sudo apt-get install curl -y</pre> <pre># CentOS sudo yum install curl -y</pre> <p>Use the command underneath to download the Docker image. The installation script requires root privileges so you will be asked for your sudo password on any non-root user.</p> <pre>curl -sSL <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/get.docker.com/</span> | sh</pre> <p>After the installation finishes, Docker usually starts up on its own, but for the next part to work you will need to stop it.</p> <pre>sudo service docker stop</pre> <p>Then run the daemon with the following command:</p> <pre>sudo nohup docker daemon -H <span class="hljs-symbol">tcp:</span>/<span class="hljs-regexp">/0.0.0.0:2375 -H unix:/</span><span class="hljs-regexp">//var</span><span class="hljs-regexp">/run/docker</span>.sock &</pre> <p>The script leaves the daemon running in the background, and with the Docker ready you can test that it is accepting commands.</p> <pre>sudo docker info</pre> <p>To make working with Docker easier, you should add your username to the Docker users group. Adding a user to the group can be done with the command underneath by replacing the <em><username></em> with your username.</p> <pre>sudo usermod -aG docker <<span class="hljs-keyword">username></span></pre> <p>Afterward, sign out of the server and then back in again to have the group policy changes take effect. By doing so, you can use Docker commands without needing to invoke <em>sudo</em>.</p> <h3 id="step-4-set-up-a-discovery-backend">Configure a discovery back-end</h3> <p>For the Swarm managers to know which nodes in the cluster are accessible, it utilizes something called the <em>consul</em>, which works as the discovery back-end. Usually, the <em>consul</em> is run on its own host, but optionally you can install it directly on your primary Swarm manager. Use the command below to download and install the <em>consul</em> container.</p> <pre>docker <span class="hljs-keyword">run</span> -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap</pre> <p>The consul service maintains a list of IP addresses in your Swarm cluster. Node IPs do not need to be publicly available, and it is recommended to use the private addresses assigned to your cloud servers to create a secure cluster. Continue below with configuring the managers and nodes to your Swarm.</p> <h3 id="step-5-create-swarm-cluster">Create a Swarm Cluster</h3> <p>The easiest way to set up a Docker Swarm installation is to use the official images. The Swarm image is built and regularly updated by Docker themselves through automated process. Installing the Swarm on your master and node servers are done with similar single line commands.</p> <p>Notice that unlike when installing the <i>consul</i>, you will need to define the IP addresses in your cluster. With UpCloud, all of your servers connect to your private network that is only accessible to the servers on your account. Using these static private IP addresses allows you to securely configure the cluster without worrying about firewalls or unintentionally exposing your Swarm to the public internet.</p> <p>Install on primary manager server. Replace the <manager1 IP> with the private IP address of your manager server, <consul IP> with the private IP of the <em>consul</em> <span style="background-color: #f5f6f5;">server</span><span style="background-color: rgba(250, 214, 51, 0.247059);">.</span></p> <pre>docker run -d -p <manager1 IP>:4000:4000 swarm manage -H :4000 --replication --advertise <span class="hljs-tag"><<span class="hljs-name">manager1 IP</span>></span>:4000 consul://<span class="hljs-tag"><<span class="hljs-name">consul IP</span>>:8500</span></pre> <p>Repeat the step on your secondary manager. Note to replace <manager2 IP> with the private IP address of your secondary manager server.</p> <pre>docker run -d -p <manager2 IP>:4000:4000 swarm manage -H :<span class="hljs-number">4000</span> --replication --advertise <manager2 IP>:<span class="hljs-number">4000</span> consul:<span class="hljs-comment">//<<span class="hljs-name">consul IP</span>>:8500</span></pre> <p>Then install Swam on each of your compute nodes. Replace the <node IP> with the private IP of the node server you are currently installing the container on, and <consul IP> as before with master server.</p> <pre><span class="hljs-attribute">docker</span> run -d swarm join --advertise=<node IP>:<span class="hljs-number">2375</span> consul://<consul IP>:8500</pre> <p>After each command, you should see the usual code when a new container starts successfully. Once you are done installing the images on each of your servers in the cluster, your Docker Swarm is ready to test out.</p> <p>Note that if you are using CentOS or any other OS with a similarly restrictive firewall by default, you will need to add the port numbers listed in each command to your firewalls to allow the Swarm nodes to communicate.</p> <h3 id="step-6-communicate-with-the-swarm">Running the Swarm</h3> <p>The Docker Swarm works very similarly to the traditional Docker. However unlike the usual Docker commands, you will need to define the host you wish to run the command on to reach the Swarm container. The Docker Swarm manager, when configured as above, allows executing commands from any host with Docker installed that has access to the manager host. Check the configuration on the primary master using the command below.</p> <pre>docker -H <manager1 IP><span class="hljs-symbol">:</span><span class="hljs-number">4000</span> info</pre> <p>The output will list information about the state of the Swarm and its nodes. If your <em>consul</em> server can discover the nodes, they will be listed in the output similarly to the example underneath. The nodes will report some useful information such as the number of containers installed on the node, number of CPU cores, amount of RAM and notes about the software the node is running on.</p> <pre>Nodes: 2 node1.example.com: 10.1.9.23:2375 └ Status: Healthy └ Containers: 1 └ Reserved CPUs: 0 / 1 └ Reserved Memory: 0 B / 1.019 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.13.0-79-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs └ Error: (none) └ UpdatedAt: 2016-03-11T11:24:51Z node2.example.com: 10.1.9.25:2375 └ Status: Healthy └ Containers: 1 └ Reserved CPUs: 0 / 1 └ Reserved Memory: 0 B / 1.019 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.13.0-79-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs └ Error: (none) └ UpdatedAt: 2016-03-11T11:25:13Z</pre> <p>If the nodes are listed as <em>(unknown)</em>, the consul is unable to communicate with them. In this case, check your firewall rules that the consul has access to the nodes and that the managers can interact with it.</p> <p>You can start containers on the Swarm with the usual <em>run –</em>command. Test your configuration by running the <em>hello-world</em> with the command below.</p> <pre>docker -H <manager1 IP>:4000 <span class="hljs-keyword">run</span> hello-world</pre> <p>Check which Swarm node ran the application.</p> <pre>docker -H <manager1 IP><span class="hljs-symbol">:</span><span class="hljs-number">4000</span> ps -a</pre> <pre>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 15b5846dfb63 hello-world "/hello" 1 minute ago Exited (0) node2.example.com/lonely_shaw f9a7f0b7c553 swarm "/swarm join --advert" 4 minutes ago Up 4 minutes 2375/tcp node1.example.com/amazing_ramanujan 86554feb7334 swarm "/swarm join --advert" 4 minutes ago Up 4 minutes 2375/tcp node2.example.com/condescending_kalam</pre> <p>In the output example above the node2 ran the test application and then exited.</p> <h3 id="step-7-test-swarm-failover">Test Swarm fail-over</h3> <p>Distributing applications on multiple hosts provides increased availability in case one of the nodes has an error or needs to be restarted. In the same way, you can have multiple manager servers to support fail-over. Check your cluster info from the current primary manager like already once before.</p> <pre>docker -H <manager1 IP><span class="hljs-symbol">:</span><span class="hljs-number">4000</span> info</pre> <pre>Server Version: swarm/1.1.3 Role: primary Strategy: spread Filters: health, port, dependency, affinity, constraint</pre> <p>In comparison if you run the same command for your secondary manager the role will be shown as the replica and a reference to the primary.</p> <pre>docker -H <manager2 IP><span class="hljs-symbol">:</span><span class="hljs-number">4000</span> info</pre> <pre>Server Version: swarm/1.1.3 Role: replica Primary: 10.1.8.184:4000 Strategy: spread Filters: health, port, dependency, affinity, constraint</pre> <p>You can test the failover by shutting down your primary manager container on <em>manager1</em>.</p> <p>docker stop <swarm manager name></p> <p>When the nodes in the Swarm realizes the primary manager has failed the replica manager will take the lead in becoming the new primary.</p> <pre>docker -H <manager2 IP><span class="hljs-symbol">:</span><span class="hljs-number">4000</span> info</pre> <pre>Server Version: swarm/1.1.3 Role: primary Strategy: spread Filters: health, port, dependency, affinity, constraint</pre> <p>You can then start the Swarm container on <em>manager1</em>, and it will become the new replica.</p> <pre>docker start <swarm manager name></pre> <p>Stopping and starting the Swarm containers serves the purpose to demonstrate how managers switch roles when one fails, but it will work the same regardless of the reason the primary manager becomes unavailable.</p> <h3>Conclusions</h3> <p>Docker Swarm is an easy way to get started with computer cluster. It provides high availability no matter the size of your deployment. Docker boasts results of up to a thousand nodes and fifty thousand containers with no performance degradation. Scaling your cluster is also convenient with the fast deployment of new hosts through your <a href="https://web.archive.org/web/20171223191002/https://my.upcloud.com/server/list">UpCloud Control Panel</a> or the <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/getting-started-with-upclouds-api/">UpCloud API</a>. New nodes are added to the cluster through the discovery back-end like the <em>consul</em>, but other options are also available such as <em>etcd</em> and <em>zookeeper</em> as well as a static node list files.</p> <p>Now that you have a basic Swarm cluster set up, head over to the <a href="https://web.archive.org/web/20171223191002/https://docs.docker.com/swarm/">Docker documentation</a> pages to learn more about Swarm. You can also jump straight into the deep end and for example try out the <a href="https://web.archive.org/web/20171223191002/https://docs.docker.com/swarm/swarm_at_scale/">Swarm at scale</a>.</p> <p> </p> <div class="nc_socialPanel swp_flatFresh swp_d_fullColor swp_i_fullColor swp_o_fullColor scale-100 scale-fullWidth" data-position="below" data-float="floatBottom" data-count="4" data-floatcolor="#ffffff" data-emphasize="0"><div class="nc_tweetContainer twitter" data-id="2" data-network="twitter"><a rel="nofollow" target="_blank" href="https://web.archive.org/web/20171223191002/https://twitter.com/share?original_referer=/&text=How+to+Configure+Docker+Swarm&url=https://www.upcloud.com/support/how-to-configure-docker-swarm/&via=upcloud" data-link="https://twitter.com/share?original_referer=/&text=How+to+Configure+Docker+Swarm&url=https://www.upcloud.com/support/how-to-configure-docker-swarm/&via=upcloud" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-twitter"></i><span class="swp_share"> Tweet</span></span></span></span></a></div><div class="nc_tweetContainer swp_fb" data-id="3" data-network="facebook"><a rel="nofollow" target="_blank" href="https://web.archive.org/web/20171223191002/https://www.facebook.com/share.php?u=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" data-link="http://www.facebook.com/share.php?u=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" class="nc_tweet"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-facebook"></i><span class="swp_share"> Share</span></span></span><span class="swp_count">2</span></a></div><div class="nc_tweetContainer linkedIn" data-id="4" data-network="linked_in"><a rel="nofollow" target="_blank" href="https://web.archive.org/web/20171223191002/https://www.linkedin.com/cws/share?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" data-link="https://www.linkedin.com/cws/share?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-linkedin"></i><span class="swp_share"> Share</span></span></span></span></a></div><div class="nc_tweetContainer googlePlus" data-id="1" data-network="google_plus"><a rel="nofollow" target="_blank" href="https://web.archive.org/web/20171223191002/https://plus.google.com/share?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" data-link="https://plus.google.com/share?url=https%3A%2F%2Fwww.upcloud.com%2Fsupport%2Fhow-to-configure-docker-swarm%2F" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-google-plus"></i><span class="swp_share"> +1</span></span></span></span></a></div></div><div class="swp-content-locator"></div> </div> </article> <section id="related-posts" class="clearfix"> <h3 id="related-posts-title">Related Articles</h3> <ul class="clearfix"> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/install-magento-open-source-ubuntu/" rel="bookmark" title="How to install Magento Open Source on Ubuntu 16.04">How to install Magento Open Source on Ubuntu 16.04</a></h4> </li> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/upcloud-packer-builder/" rel="bookmark" title="How to Create Custom Templates with Packer">How to Create Custom Templates with Packer</a></h4> </li> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/installing-flynn-cluster/" rel="bookmark" title="How to Install Flynn Cluster in the Cloud">How to Install Flynn Cluster in the Cloud</a></h4> </li> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/install-matrix-synapse/" rel="bookmark" title="How to Install Matrix Synapse Home Server">How to Install Matrix Synapse Home Server</a></h4> </li> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/get-started-docker-machine/" rel="bookmark" title="How to Get Started with Docker Machine">How to Get Started with Docker Machine</a></h4> </li> <li class="standard"> <h4 class="entry-title"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/get-started-dokku-ubuntu/" rel="bookmark" title="How to Get Started with Dokku Ubuntu 14">How to Get Started with Dokku Ubuntu 14</a></h4> </li> </ul></section> </section> <aside id="sidebar" role="complementary"> <div id="text-2" class="widget widget_text clearfix"><h4 class="widget-title"><span>Contact us</span></h4> <div class="textwidget"><h5>Email:</h5> <dl> <dt>Support:</dt> <dd><a href="/web/20171223191002/https://www.upcloud.com/cdn-cgi/l/email-protection#a5d6d0d5d5cad7d1e5d0d5c6c9cad0c18bc6cac8"><span class="__cf_email__" data-cfemail="93e0e6e3e3fce1e7d3e6e3f0fffce6f7bdf0fcfe">[email protected]</span></a></dd> <p></p> <dt>Sales:</dt> <dd><a href="/web/20171223191002/https://www.upcloud.com/cdn-cgi/l/email-protection#691a08050c1a291c190a05061c0d470a0604"><span class="__cf_email__" data-cfemail="a4d7c5c8c1d7e4d1d4c7c8cbd1c08ac7cbc9">[email protected]</span></a></dd> </dl> <h5>Phone:</h5> <dl> <dt>Finland:</dt> <dd>+358 9 42720661</dd> <p></p> <dt>United Kingdom:</dt> <dd>+44 20 358 80000</dd> <p></p> <dt>United States:</dt> <dd>+1 415 830 8474</dd> <p></p> <dt>Singapore:</dt> <dd>+65 3163 7151</dd> </dl> </div> </div><div id="st_popular_articles_widget-2" class="widget st_popular_articles_widget clearfix"> <h4 class="widget-title"><span>Popular Articles</span></h4> <ul class="clearfix"> <li class="clearfix format-standard"> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/haproxy-load-balancer-centos/" rel="bookmark">How to Install HAProxy Load Balancer on CentOS</a> </li> <li class="clearfix format-standard"> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/how-to-configure-docker-swarm/" rel="bookmark">How to Configure Docker Swarm</a> </li> <li class="clearfix format-standard"> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/configuring-iptables-on-debian-8-0/" rel="bookmark">Configuring iptables on Debian 8.0</a> </li> <li class="clearfix format-standard"> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/configuring-iptables-on-ubuntu-14-04/" rel="bookmark">Configuring iptables on Ubuntu 14.04</a> </li> <li class="clearfix format-standard"> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/how-to-set-up-load-balancing/" rel="bookmark">How to Configure Load Balancing with Nginx</a> </li> </ul> </div><div id="categories-2" class="widget widget_categories clearfix"><h4 class="widget-title"><span>Categories</span></h4> <ul> <li class="cat-item cat-item-4"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/accounts-billing/" title="User account features, managing account balance and terms of use.">Accounts, Billing and Agreements</a> </li> <li class="cat-item cat-item-3"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/api/" title="Utilising UpCloud's application programming interface.">API</a> </li> <li class="cat-item cat-item-10"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/getting-started/" title="Introduction to using UpCloud’s IaaS service.">Getting Started</a> </li> <li class="cat-item cat-item-7"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/infrastructure-and-networking/" title="Topics for infrastructure and networking in UpCloud’s IaaS service.">Infrastructure and Networking</a> </li> <li class="cat-item cat-item-11"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/special-features/" title="Special features on UpCloud and how to use them.">Special Features</a> </li> <li class="cat-item cat-item-6"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/storage-and-images/" title="Guides related to storage and server images within UpCloud's IaaS service.">Storage and Images</a> </li> <li class="cat-item cat-item-14"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/troubleshooting/" title="Instructions for troubleshooting common problems.">Troubleshooting</a> </li> <li class="cat-item cat-item-9"><a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/category/tutorials/" title="Tutorials, guides and tricks-of-the-trade on using UpCloud’s IaaS service.">Tutorials</a> </li> </ul> </div> <div id="recent-posts-2" class="widget widget_recent_entries clearfix"> <h4 class="widget-title"><span>Recent Posts</span></h4> <ul> <li> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/getting-started-libcloud-compute-nodes/">Getting started with Libcloud compute nodes</a> </li> <li> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/install-magento-open-source-ubuntu/">How to install Magento Open Source on Ubuntu 16.04</a> </li> <li> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/upcloud-packer-builder/">How to Create Custom Templates with Packer</a> </li> <li> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/time-zones-and-synchronisation/">Time Zones and Synchronisation</a> </li> <li> <a href="https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/dns-servers/">DNS Servers and Firewall Settings</a> </li> </ul> </div> </aside> </div> </div> </div> <script data-cfasync="false" src="/web/20171223191002js_/https://www.upcloud.com/cdn-cgi/scripts/af2821b0/cloudflare-static/email-decode.min.js"></script><script type="text/javascript"> jQuery(document).ready(function($) { $('#live-search #s').liveSearch({url: 'https://web.archive.org/web/20171223191002/https://www.upcloud.com/support/index.php?ajax=1&s='}); }); </script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-content/plugins/social-warfare/js/script.min.js?ver=2.3.2"></script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-content/themes/KnowHow/js/functions.js?ver=4.8.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-content/themes/KnowHow/framework/shortcodes/shortcodes.js?ver=4.8.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-includes/js/wp-embed.min.js?ver=4.8.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20171223191002js_/https://www.upcloud.com/support/wp-content/themes/KnowHow/js/jquery.livesearch.js?ver=4.8.4"></script> <script type="text/javascript">var swpClickTracking = false; var swp_nonce = "4400b6ae1d";</script> </div> <style> .footer .footer-col .dl-horizontal dt { width: 120px; text-align: left; } .footer .footer-col .dl-horizontal dd { margin-left: 20px; } </style> <footer class="footer"> <div class="footer-content"> <div class="container"> <div class="row"> <div class="footer-col links col-md-4 col-sm-4 col-xs-12 sm-break"> <div class="footer-col-inner"> <a href="/web/20171223191002/https://www.upcloud.com/"><img style="max-width: 150px" alt="UpCloud" src="/web/20171223191002im_/https://www.upcloud.com/assets/images/logo-white-557ee643d8.png"></a><br/><br/> <p class="email"><i class="fa fa-envelope-o"></i><strong>Email (24/7)</strong><br> <dl class="dl-horizontal"> <dt>Sales</dt> <dd><a href="/web/20171223191002/https://www.upcloud.com/cdn-cgi/l/email-protection#0675676a6375467376656a6973622865696b"><span class="__cf_email__" data-cfemail="9ae9fbf6ffe9daefeaf9f6f5effeb4f9f5f7">[email protected]</span></a></dd> <dt>Support</dt> <dd><a href="/web/20171223191002/https://www.upcloud.com/cdn-cgi/l/email-protection#0c7f797c7c637e784c797c6f60637968226f6361"><span class="__cf_email__" data-cfemail="64171114140b161024111407080b11004a070b09">[email protected]</span></a></dd> </dl> </p> <p class="tel"><i class="fa fa-phone"></i> <strong>Phone (24/7)</strong><br> <dl class="dl-horizontal"> <dt>Finland</dt> <dd>+358 9 3158 4810</dd> <dt>United Kingdom</dt> <dd>+44 20 358 80000</dd> <dt>United States</dt> <dd>+1 415 830 8474</dd> <dt>Singapore</dt> <dd>+65 3163 7151</dd> </dl> </p> </div> </div> <div class="footer-col links col-md-2 col-sm-4 col-xs-12"> <div class="footer-col-inner"> <h3 class="title">Product</h3> <ul class="list-unstyled"> <li><a href="/web/20171223191002/https://www.upcloud.com/features/"><i class="fa fa-caret-right"></i>Features</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/pricing/"><i class="fa fa-caret-right"></i>Pricing</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/documentation/api/"><i class="fa fa-caret-right"></i>API-docs</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/referral-program/"><i class="fa fa-caret-right"></i>Referral program</a></li> </ul> </div> </div> <div class="footer-col links col-md-2 col-sm-4 col-xs-12"> <div class="footer-col-inner"> <h3 class="title">Compare</h3> <ul class="list-unstyled"> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/aws-ec2/"><i class="fa fa-caret-right"></i>AWS EC2</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/azure/"><i class="fa fa-caret-right"></i>AWS EC2</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/dedicated-server/"><i class="fa fa-caret-right"></i>Dedicated server</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/digitalocean/"><i class="fa fa-caret-right"></i>DigitalOcean</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/linode/"><i class="fa fa-caret-right"></i>Linode</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/vs/vultr/"><i class="fa fa-caret-right"></i>Vultr</a></li> </ul> </div> </div> <div class="footer-col links col-md-2 col-sm-4 col-xs-12"> <div class="footer-col-inner"> <h3 class="title">Company</h3> <ul class="list-unstyled"> <li><a href="/web/20171223191002/https://www.upcloud.com/company/"><i class="fa fa-caret-right"></i>About us</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/blog/"><i class="fa fa-caret-right"></i>Blog</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/company/careers/"><i class="fa fa-caret-right"></i>Careers</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/company/contactus/"><i class="fa fa-caret-right"></i>Contact us</a></li> </ul> </div> </div> <div class="footer-col links col-md-2 col-sm-4 col-xs-12"> <div class="footer-col-inner"> <h3 class="title">Help</h3> <ul class="list-unstyled"> <li><a href="/web/20171223191002/https://www.upcloud.com/support/"><i class="fa fa-caret-right"></i>Documentation</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/documentation/faq/"><i class="fa fa-caret-right"></i>FAQ</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/documentation/api/"><i class="fa fa-caret-right"></i>API</a></li> <li><a href="https://web.archive.org/web/20171223191002/http://status.upcloud.com/"><i class="fa fa-caret-right"></i>Status page</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/documentation/terms/"><i class="fa fa-caret-right"></i>Terms of Service</a></li> </ul> </div> </div> <div class="clearfix"></div> </div> <div class="row"> <div class="container"> <ul class="list-inline"> <li>Language</li> <li><a href="/web/20171223191002/https://www.upcloud.com/">English</a></li> <li><a href="/web/20171223191002/https://www.upcloud.com/fi/">Finnish (Suomi)</a></li> </ul> </div> </div> <div class="row"> </div> </div> </div> </footer> <script data-cfasync="false" src="/web/20171223191002js_/https://www.upcloud.com/cdn-cgi/scripts/af2821b0/cloudflare-static/email-decode.min.js"></script><script src="//web.archive.org/web/20171223191002js_/https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://cdnjs.cloudflare.com/ajax/libs/jquery-placeholder/2.0.7/jquery.placeholder.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://cdnjs.cloudflare.com/ajax/libs/bootstrap-hover-dropdown/2.0.10/bootstrap-hover-dropdown.min.js"></script> <script src="//web.archive.org/web/20171223191002js_/https://cdnjs.cloudflare.com/ajax/libs/jquery-throttle-debounce/1.1/jquery.ba-throttle-debounce.min.js"></script> <script src="/web/20171223191002js_/https://www.upcloud.com/assets/js/app-117d5b21bb.js"></script> </body> </html> <!-- FILE ARCHIVED ON 19:10:02 Dec 23, 2017 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 14:48:17 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.601 exclusion.robots: 0.032 exclusion.robots.policy: 0.022 esindex: 0.011 cdx.remote: 10.852 LoadShardBlock: 774.089 (3) PetaboxLoader3.datanode: 503.069 (4) PetaboxLoader3.resolve: 497.376 (2) load_resource: 328.542 -->