Docker
eseguire console in docker 1.12 sciame
Ricerca…
Esegui console in un docker 1.12 sciame
Questo si basa sull'immagine ufficiale docker console per eseguire console in modalità cluster in uno sciame docker con nuova modalità sciame in Docker 1.12. Questo esempio è basato su http://qnib.org/2016/08/11/consul-service/ . In breve, l'idea è di utilizzare due servizi swarm docker che parlano tra loro. Questo risolve il problema che non puoi conoscere gli IP dei singoli container console in anticipo e ti consente di fare affidamento sui dns degli sciami docker.
Questo presuppone che tu abbia già un cluster sciame di 1.12 docker in esecuzione con almeno tre nodi.
Potrebbe essere necessario configurare un driver di registro sui daemon della finestra mobile in modo da poter vedere cosa sta succedendo. Ho usato il driver syslog per questo: imposta l' --log-driver=syslog
su dockerd.
Per prima cosa crea una rete overlay per console:
docker network create consul-net -d overlay
Ora avvia il cluster con un solo nodo (default --replicas è 1):
docker service create --name consul-seed \
-p 8301:8300 \
--network consul-net \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -bootstrap-expect=3 -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
Ora dovresti avere un cluster a 1 nodo. Ora fai apparire il secondo servizio:
docker service create --name consul-cluster \
-p 8300:8300 \
--network consul-net \
--replicas 3 \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
Ora dovresti avere un console console a quattro nodi. Puoi verificarlo eseguendo su uno qualsiasi dei contenitori docker:
docker exec <containerid> consul members