from docker run to docker compose
TRANSCRIPT
Overview
● Run container with given name, environment variable, and publish port
$ docker run --name mysql-server -e MYSQL_PASS=root -p 3306:3306 -d fitra/mysql-minimalistic
Overview
● Linked containers
$ docker run --name mysql-server -e MYSQL_PASS=admin -p 3306:3306 -d fitra/mysql-minimalistic
$ docker run --name wordpress-site --link db:db -e DB_PASS=admin -p 80:80 -d fitra/wordpress-sample
Make it simple!
● Shell script
run_db() { docker run --name $DB_CONTAINER -e MYSQL_PASS=$DB_PASS -p \ $DB_PORT:3306 -d $DB_IMAGE}
run_web() { docker run --name $WEB_CONTAINER --link \ $DB_CONTAINER:$DB_CONTAINER -e DB_PASS=$DB_PASS -p \ $WEB_PORT:80 -d $WEB_IMAGE}
run() { run_db run_web}
Make it simple!
● Makefile
run: run_db run_web
run_db: docker run --name $(DB_CONTAINER) -e MYSQL_PASS=$(DB_PASS) \ -p $(DB_PORT):3306 -d $(DB_IMAGE)
run_web: docker run --name $(WEB_CONTAINER) --link \ $(DB_CONTAINER):$(DB_CONTAINER) -e DB_PASS=$(DB_PASS) \ -p $(WEB_PORT):80 -d $(WEB_IMAGE)
Make it simple!
● Docker compose
web: image: fitra/wordpress-sample links: - db ports: - "8000:80" environment: DB_NAME: wordpress DB_USER: admin DB_PASS: "admin"
db: image: fitra/mysql-minimalistic environment: MYSQL_PASS: "admin"
Docker compose
● Originated from fig● One binary to manage multiple containers,
volumes, and networks on a single docker host
● Move your lengthy docker run commands to a YAML file
Compose file
version: 2
services: web: build: . links: - db ports: - 8000:80 environment: DB_NAME: wordpress DB_USER: admin DB_PASS: admin volumes: - ./wp-content:/app/wp-content
db: image: fitra/mysql-minimalistic environment: MYSQL_PASS: admin
Compose file
● More compose file reference
https://docs.docker.com/compose/compose-file/
Command line
● $ docker-compose build
● $ docker-compose create
● $ docker-compose up
● $ docker-compose start
● $ docker-compose run
Command line
● More command line reference
https://docs.docker.com/compose/reference/
Usage
● More command line reference
https://docs.docker.com/compose/reference/
Thank youFitra Aditya<[email protected]>