Docker: verschil tussen versies
(Nieuwe pagina aangemaakt met 'Docker is het buzzword van de huidige tijd. Minder zwaar dan virtuele machines, goede scheiding van de containers. Daarom een overzicht van de mogelijkheden. [http...') |
|||
Regel 2: | Regel 2: | ||
[https://www.synology.com/nl-nl/dsm/app_packages/Docker Docker voor je Synology NAS-sen] | [https://www.synology.com/nl-nl/dsm/app_packages/Docker Docker voor je Synology NAS-sen] | ||
+ | |||
+ | '''Opdracht CT magazine mei 2016''' | ||
+ | |||
+ | [github.com/inovex/docker-orchestration TODO-app] | ||
+ | |||
+ | Getest met Debian 8 Jessie. docker.io zit in backports-repository | ||
+ | |||
+ | sudo docker network create todoapp_network | ||
+ | |||
+ | sudo docker run --net=todoapp_network --name=redis-master -d redis | ||
+ | |||
+ | sudo docker run --net=todoapp_network --name=redis-slave -d johscheuer/redis-slave:v1 | ||
+ | |||
+ | sudo docker run --net=todoapp_network --name=frontend -d -p 3000:3000 johscheuer/todo-app-web:v1 | ||
+ | |||
+ | sudo docker inspect frontend geeft het IP-adres waar je via poort 3000 de frontend kunt bereiken | ||
+ | |||
+ | Containers beheren met Compose | ||
+ | |||
+ | [https://github.com/docker/compose/releases Github van Compose] | ||
+ | |||
+ | sla docker-compose op in /usr/local/bin en maak met CMD +x uitvoerbaar | ||
+ | |||
+ | ga naar de submap 1-Docker-Tools van de todo-app en voer onderstaand commando uit | ||
+ | |||
+ | sudo docker-compose up -d | ||
+ | |||
+ | sudo docker-compose port todoApp 3000 | ||
+ | |||
+ | Dit commando geeft je het ip-adres terug | ||
+ | |||
+ | Machine voor verdelen containers | ||
+ | |||
+ | [https://github.com/docker/machine/releases Github van Machine] | ||
+ | |||
+ | docker-machine create -d virtualbox cluster-store | ||
+ | |||
+ | docker $(docker-machine config cluster-store) run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap -ui-dir /ui | ||
+ | |||
+ | omgevingsvariabele OPTIONS bewaart de configuratie voor de andere hosts | ||
+ | |||
+ | OPTIONS="-d virtualbox --swarm --swarm-discovery=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-store=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-advertise=eth1:0" | ||
+ | |||
+ | docker-machine create ${OPTIONS} -- swarm-master swarm-master | ||
+ | |||
+ | docker-machine create ${OPTIONS} swarm-node-00 | ||
+ | |||
+ | docker-machine create ${OPTIONS} swarm-node--01 | ||
+ | |||
+ | docker-machine ls toont de draaiende machines | ||
+ | |||
+ | eval $(docker-machine env --swarm swarm-master) | ||
+ | |||
+ | docker-compose up -d | ||
+ | |||
+ | Hiermee start je de todo-app over de 3 aangemaakte virtuele machines | ||
+ | |||
+ | |||
+ | Kubernetes host-overkoepelende orkestratie | ||
+ | |||
+ | [https://github.com/kubernetes/kubernetes/releases Github voor Kubernetes] | ||
+ | |||
+ | export KUBERNETES_PROVIDER=vagrant | ||
+ | |||
+ | export NUM_NODES=3 | ||
+ | |||
+ | export KUBERNETES_MEMORY=1024 | ||
+ | |||
+ | export MASTER_USER=appuser | ||
+ | |||
+ | export MASTER_PASSWD=k8s-gEhEIm | ||
+ | |||
+ | ./cluster/kube-up.sh | ||
+ | |||
+ | ./cluster/kubectl.sh get nodes | ||
+ | |||
+ | controleert of ze alle 3 gestart zijn. kubectl.sh cluster-info toont info over de master en het cluster in zijn geheel |
Versie van 28 apr 2017 om 22:23
Docker is het buzzword van de huidige tijd. Minder zwaar dan virtuele machines, goede scheiding van de containers. Daarom een overzicht van de mogelijkheden.
Docker voor je Synology NAS-sen
Opdracht CT magazine mei 2016
[github.com/inovex/docker-orchestration TODO-app]
Getest met Debian 8 Jessie. docker.io zit in backports-repository
sudo docker network create todoapp_network
sudo docker run --net=todoapp_network --name=redis-master -d redis
sudo docker run --net=todoapp_network --name=redis-slave -d johscheuer/redis-slave:v1
sudo docker run --net=todoapp_network --name=frontend -d -p 3000:3000 johscheuer/todo-app-web:v1
sudo docker inspect frontend geeft het IP-adres waar je via poort 3000 de frontend kunt bereiken
Containers beheren met Compose
sla docker-compose op in /usr/local/bin en maak met CMD +x uitvoerbaar
ga naar de submap 1-Docker-Tools van de todo-app en voer onderstaand commando uit
sudo docker-compose up -d
sudo docker-compose port todoApp 3000
Dit commando geeft je het ip-adres terug
Machine voor verdelen containers
docker-machine create -d virtualbox cluster-store
docker $(docker-machine config cluster-store) run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap -ui-dir /ui
omgevingsvariabele OPTIONS bewaart de configuratie voor de andere hosts
OPTIONS="-d virtualbox --swarm --swarm-discovery=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-store=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-advertise=eth1:0"
docker-machine create ${OPTIONS} -- swarm-master swarm-master
docker-machine create ${OPTIONS} swarm-node-00
docker-machine create ${OPTIONS} swarm-node--01
docker-machine ls toont de draaiende machines
eval $(docker-machine env --swarm swarm-master)
docker-compose up -d
Hiermee start je de todo-app over de 3 aangemaakte virtuele machines
Kubernetes host-overkoepelende orkestratie
export KUBERNETES_PROVIDER=vagrant
export NUM_NODES=3
export KUBERNETES_MEMORY=1024
export MASTER_USER=appuser
export MASTER_PASSWD=k8s-gEhEIm
./cluster/kube-up.sh
./cluster/kubectl.sh get nodes
controleert of ze alle 3 gestart zijn. kubectl.sh cluster-info toont info over de master en het cluster in zijn geheel