docker workshop
based on xd
hello world
docker run hello-world
docker ps -a
docker pull
docker run --name <name> image
docker rm <name>
docker run -d --name app -p 3000:3000 gvilarino/docker-testing
connect containers
docker network create app-network
docker network ls
docker network connect app-network <db>
docker network connect app-network <app>
compose
use https://github.com/gvilarino/docker-testing
docker-compose.yml
version: '2'
services:
app:
build: gvilarino/docker-testing
environment:
MONGO_URL: "mongodb://db/test"
depends_on:
- db
ports:
- "3000:3000"
db:
image: mongo
use local docker compose
change app: build: gvilarino/docker-testing
to build: .
add app:
volumes:
- .:/usr/src
- /usr/src/node_modules
Other commands
docker-compose ps
docker-compose images
docker-compose up -d
docker-compose up -d -f
swarm
docker-machine create -d virtualbox manager
docker-machine ssh manager
docker-machine create -d virtualbox worker1
docker-machine create -d virtualbox worker2
docker-machine ssh worker1
docker swarm join --token <token> <default swarm location>
docker-machine ssh worker2
docker swarm join --token <token> <default swarm location>
docker node ls
docker service create --name pinger --replicas 1 alpine ping docker.com
docker service scale pinger=5
docker-machine rm worker1
docker rmi $(docker ps -a -q)
docker rm $(docker ps -a -q)
author
Denis Tsoi