Changes

Docker Swarm Classic

3,791 bytes added, 08:31, 8 July 2018
Swarm létrehozása docker-machine-al
Checking connection to Docker...
</pre>
 
Ezt bárhol lefuttathatjuk, nem csak a VM-eken. A swarm konténer le fogja kérdezni a Docker Hub-tol a node-ok listáját. Azért van három node, mert a master VM-en is fut egy swarm agent.
<pre>
# docker run --rm swarm list token://7b1602e9fc114f1f47ad7ad4df41521c
192.168.42.152:2376
192.168.42.236:2376
192.168.42.54:2376
</pre>
 
 
<pre>
# eval "$(docker-machine env --swarm swarm-master)"
</pre>
Innentől kezdve minden kiadott docker parancs az egész cluster-re fog vonatkozni.
 
 
<pre>
# docker info
Containers: 5
Running: 4
Paused: 0
Stopped: 1
Images: 4
Server Version: swarm/1.2.9
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint, whitelist
Nodes: 3
node1: 192.168.42.236:2376
└ ID: 7AKJ:NJMX:6OW3:OWNJ:Q2AV:SXPH:SM4S:GY3B:TZMQ:QJIV:4UEB:6O65|192.168.42.236:2376
└ Status: Healthy
└ Containers: 1 (1 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.021 GiB
└ Labels: kernelversion=4.9.93-boot2docker, operatingsystem=Boot2Docker ..
└ UpdatedAt: 2018-07-08T08:15:56Z
└ ServerVersion: 18.05.0-ce
node2: 192.168.42.152:2376
└ ID: 2K5X:CTUY:VOBF:AF5K:GBWU:3ICY:YJWJ:ALAY:6MDP:HAP4:JYHB:ZGRJ|192.168.42.152:2376
└ Status: Healthy
└ Containers: 1 (1 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.021 GiB
└ Labels: kernelversion=4.9.93-boot2docker, operatingsystem=Boot2Docker ..
└ UpdatedAt: 2018-07-08T08:15:56Z
└ ServerVersion: 18.05.0-ce
swarm-master: 192.168.42.54:2376
└ ID: LHJT:XZ2H:YAEH:COC7:DQXM:PRCV:O4EA:3BEE:OZXC:R5GV:2DIC:GW75|192.168.42.54:2376
└ Status: Healthy
└ Containers: 2 (2 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.021 GiB
└ Labels: kernelversion=4.9.93-boot2docker, operatingsystem=Boot2Dock..
└ UpdatedAt: 2018-07-08T08:15:35Z
└ ServerVersion: 18.05.0-ce
</pre>
 
 
<pre>
# docker ps -a
CONTAINER ID IMAGE COMMAND PORTS NAMES
8d8167f3b9bc swarm:latest "/swarm join --adv..." 2375/tcp node2/swarm-agent
4d5b7b11a8dd swarm:latest "/swarm join --adv..." 2375/tcp node1/swarm-agent
ea5bf0ae71e3 swarm:latest "/swarm join --adv..." 2375/tcp swarm-master/swarm-agent
7b135d1f0e64 swarm:latest "/swarm manage --t..." 2375/tcp, 192.168.42.54:3376->3376/tcp swarm-master/swarm-agent-master
</pre>
Látható, hogy egy-egy swarm agent konténer fut a node nevű gépeken és egy agent és a master fut a swarm-master nevű gépen. Az agent konténerek számára a 2375 (alapértelmezett) port van kinyitva, itt beszélgetnek a master-rel. A master meg a 3376-os porton érhető el.
 
 
Nézzünk megy egy agent konténert:
<pre>
# docker inspect 8d8167f3b9bc
...
"IP": "192.168.42.152",
"Addr": "192.168.42.152:2376",
"Name": "node2",
},
"Name": "/swarm-agent",
"Config": {
"ExposedPorts": {
"2375/tcp": {}
},
"Env": [
"SWARM_HOST=:2375"
],
"Cmd": [
"join",
"--advertise",
"192.168.42.152:2376",
"token://7b1602e9fc114f1f47ad7ad4df41521c"
],
"Volumes": {
"/.swarm": {}
</pre>
Láthatjuk hogy az agent-nek a 2375-ös portja van nyitva, a swarm volume van felcsatolva, és hogy a konténer az alábbi argumentumokat kapta meg a docker run parancsban.
 
join --advertise "192.168.42.152:2376" token://7b1602e9fc114f1f47ad7ad4df41521c