by Dmitri Pisarev / @dimaip
Almost. At least it feels like one
Docker is an open platform for developing, shipping, and running (distributed) applications
Container is an isolated and secure application platform, that holds everything that is needed for an application to run
A Docker image is a read-only template used to create Docker containers
Docker registries hold images.
The public Docker registry is called Docker Hub.
Stuff to expect:
Agenda:
wget -qO- https://get.docker.com/ | sh
“All hope abandon ye who enter here”
~Dante Alighieri, 1321AD
docker run -i -t busybox sh
/var/lib/docker/volumes/fe04a94dfaad3d9efa99c81bd79a42b383b55171...
dbdata:
image: busybox:latest
command: echo dbdata
volumes:
- /var/lib/mysql
webdata:
image: busybox:latest
command: echo webdata
volumes:
- data:/data
db:
image: million12/mariadb:latest
ports:
- 3306
volumes_from:
- dbdata
environment:
MARIADB_PASS: pass
restart: always
web:
image: million12/typo3-neos
ports:
- '80'
links:
- db:db
volumes_from:
- webdata
environment:
VIRTUAL_HOST: 'neosm.dev,dev.neosm.dev'
T3APP_NAME: 'neosm.dev'
T3APP_NEOS_SITE_PACKAGE: 'TYPO3.NeosDemoTypo3Org'
restart: always
ssh:
image: million12/php-app-ssh
ports:
- '22'
links:
- db:db
- web:web
volumes_from:
- webdata
- dbdata
environment:
IMPORT_GITHUB_PUB_KEYS: dimaip
restart: always
redis:
image: redis
Generate any sorts of configs based on data from running docker containers
Great for big infrastructure changes,
but slow for code-only deploys
For small code changes:
And for big ones do full container re-deploy