7,540
edits
Changes
→Filterek
Öt gyári filter lánc van: <br>health, port, containerslots, dependency, affinity, constraint, whitelist* ===affinity: === Egy megkötés már a node-ra telepített konténerekre. Azt mondja meg, hogy csak olyan node-ko jöhetnek szóba, ahol már van ilyen konténer, amit megadtunk az effinity paramétereként. * Azon node-ok, ahova az nginx már fel van rakva: <pre># docker run -d -e affinity:image==nginx -p 80:80 nginx</pre> Azon node-ok ahova az nginx még nincs felrakva: <pre># docker run -d -e affinity:image!=nginx -p 8080:8080 haproxy</pre> ===health===* ===constraint: ===Megkötés bármilyen VM tulajdonságra. Vagy a beépített tulajdonság változókat használjuk, vagy sajátokat adhatunk meg a docker-machine create --engine-label használatával, amire később hivatkozhatunk. Van 5 beépített tulajdonság: * node —The name or ID of the node in the cluster* storagedriver —The name of the storage driver used by the node* executiondriver —The name of the execution driver used by the node* kernelversion —The version of the Linux kernel powering the node* operatingsystem —The operating system name on the node Ezeket a docker info parancs minden node-ra megmutatja: <pre># docker infonode1: 192.168.42.236:2376 └ ID: 2K5X:CTUY:VOBF:AF5K:GBWU:3ICY:YJWJ:ALAY:6MDP:HAP4:JYHB:ZGRJ|192.168.42.152:2376 └ Labels: kernelversion=4.9.93-boot2docker, operatingsystem=Boot2Docker 18.05.0-ce </pre> A custom címkéket a '''--engine-label''' kapcsolóval kell megadni a VM létrehozásakor: <pre># docker-machine create -d kvm --kvm-network "docker-network" \
--swarm --swarm-discovery token://7b1602e9fc114f1f47ad7ad4df41521c \
--engine-label size=small \
</pre>
<br>Majd így hivatkozhatunk rá a '''run''' parancsban:
<pre>
# docker run -d -e constraint:size==small postgres
</pre>
Ez azt jelenti, hogy csak olyan node-ok jöhetnek szóba az új konténer futtatására, amik '''size=small''' címkével lettek létrehozva.
* port
* dependency