from docker run to docker compose

19
From Docker run To Docker compose Fitra Aditya [email protected]

Upload: fitra-aditya

Post on 10-Apr-2017

326 views

Category:

Technology


2 download

TRANSCRIPT

From Docker run To Docker compose

Fitra [email protected]

Overview

● Run simple container

$ docker run hello-world

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

WORDPRESS + MYSQL

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● Makefile● Docker compose

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

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

Installation

● Via pip

● Download the binary

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/

Example

Thank youFitra Aditya<[email protected]>