<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Docker_Swarm_%28KB%29</id>
	<title>Docker Swarm (KB) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Docker_Swarm_%28KB%29"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Docker_Swarm_(KB)&amp;action=history"/>
	<updated>2026-05-13T22:54:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Docker_Swarm_(KB)&amp;diff=67796&amp;oldid=prev</id>
		<title>Kbaran at 07:13, 29 August 2018</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Docker_Swarm_(KB)&amp;diff=67796&amp;oldid=prev"/>
		<updated>2018-08-29T07:13:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Docker]]&lt;br /&gt;
[[Category:course_code_dockcm]]&lt;br /&gt;
&lt;br /&gt;
{{Copyright Notice}}&lt;br /&gt;
&lt;br /&gt;
== Author ==&lt;br /&gt;
* [http://www.kamilbaran.pl Kamil Baran]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Swarm mode ==&lt;br /&gt;
&lt;br /&gt;
* Docker Swarm is a native clustering tool that turns a group of Docker engines into a single, virtual Docker Engine.&lt;br /&gt;
** When you run Docker Engine outside of swarm mode, you execute container commands.&lt;br /&gt;
** When you run the Engine in swarm mode, you orchestrate services.&lt;br /&gt;
* Key futures&lt;br /&gt;
** Cluster management integrated with Docker Engine&lt;br /&gt;
** Declarative service model (scaling, desired state reconciliation, rolling updates)&lt;br /&gt;
** Multi-host networking&lt;br /&gt;
* Requirements - 3 networked VM&amp;#039;s&lt;br /&gt;
** first one with docker-machine installed, all commands should be executed in terminal on this member&lt;br /&gt;
** two others (server-s1, server-s2) with docker engine &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create cluster manager&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(docker-machine env server-s0)&lt;br /&gt;
$ docker swarm init --advertise-addr 11.0.2.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check cluster state and list of nodes&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ docker info&lt;br /&gt;
$ docker node ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add another node to the cluster&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ docker swarm join-token worker&lt;br /&gt;
$ eval $(docker-machine env server-s1)&lt;br /&gt;
$ docker swarm join --token SWMTKN-1-3nt...sfe 10.0.2.10:2377&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create, inspect and scale service called &amp;#039;&amp;#039;training&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(docker-machine env server-s0)&lt;br /&gt;
$ docker service ls&lt;br /&gt;
$ docker service create --replicas 1 --name training kamilbaran/nobleprog_training:training_app_v1&lt;br /&gt;
$ docker service inspect --pretty training&lt;br /&gt;
$ docker service ps training&lt;br /&gt;
$ docker ps&lt;br /&gt;
$ docker service scale training=5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rolling update of a service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ docker service update --update-delay 7s training&lt;br /&gt;
$ docker service update --image kamilbaran/nobleprog_training:training_app_v2 training&lt;br /&gt;
$ docker service inspect --pretty training&lt;br /&gt;
$ docker service ps training&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ingress network and routing mesh&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ docker service create --name training-app --publish 80:80 --replicas 1 kamilbaran/nobleprog_training:training_app_v1&lt;br /&gt;
$ docker service ps training-app&lt;br /&gt;
$ curl server-s0&lt;br /&gt;
$ curl server-s1&lt;br /&gt;
$ while :; do ((i++)); curl --connect-timeout 1 server-s0/?count=$i; sleep 1; done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Removing a service and a node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
$ docker service rm training training-app&lt;br /&gt;
$ docker node rm server-s2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kbaran</name></author>
	</entry>
</feed>