@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
Slide 54
Slide 54 text
@GanbaroDigital
Step 1
Slide 55
Slide 55 text
@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
@GanbaroDigital
Out of the box,
Docker for Mac needs
an extra step.
I’ll cover that separately
at the end.
Slide 96
Slide 96 text
@GanbaroDigital
$ ping network-lead.appdev
Slide 97
Slide 97 text
@GanbaroDigital
Slide 98
Slide 98 text
@GanbaroDigital
Setting up DNS
is a one-off task
per Docker network
Slide 99
Slide 99 text
@GanbaroDigital
Step 4
Slide 100
Slide 100 text
@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
Slide 101
Slide 101 text
@GanbaroDigital
The hard work is done :)
Slide 102
Slide 102 text
@GanbaroDigital
Slide 103
Slide 103 text
@GanbaroDigital
docker-appenv
network-lead
config
data
logs
Slide 104
Slide 104 text
@GanbaroDigital
docker-appenv
mysql
config
data
logs
Slide 105
Slide 105 text
@GanbaroDigital
Slide 106
Slide 106 text
@GanbaroDigital
Acid test for container design #1
Will you lose anything
if you destroy the container?
Slide 107
Slide 107 text
@GanbaroDigital
I’ll tackle container image design
in a separate talk.
Slide 108
Slide 108 text
@GanbaroDigital
$ docker-compose start mysql
Slide 109
Slide 109 text
@GanbaroDigital
network-lead
mysql
172.19.0.2
172.19.0.3
172.19.0.0/24
Slide 110
Slide 110 text
@GanbaroDigital
Slide 111
Slide 111 text
@GanbaroDigital
$ mysql -h mysql.appdev -u root -p
Slide 112
Slide 112 text
@GanbaroDigital
You can use MySQL Workbench
from the host OS too.
Or any other tools.
It’s just MySQL after all.
Slide 113
Slide 113 text
@GanbaroDigital
Step 5
Slide 114
Slide 114 text
@GanbaroDigital
Steps
1. Create a network for our dev env
2. Define our dev env
3. Get DNS working for our dev env
4. Add a database server
5. Add our app
Slide 115
Slide 115 text
@GanbaroDigital
Slide 116
Slide 116 text
@GanbaroDigital
Slide 117
Slide 117 text
@GanbaroDigital
docker-appenv
myapp
my-project
Slide 118
Slide 118 text
@GanbaroDigital
docker-appenv
myapp
my-project
Slide 119
Slide 119 text
@GanbaroDigital
Slide 120
Slide 120 text
@GanbaroDigital
Slide 121
Slide 121 text
@GanbaroDigital
$ docker-compose start myapp
Slide 122
Slide 122 text
@GanbaroDigital
Slide 123
Slide 123 text
@GanbaroDigital
network-lead
mysql
myapp
wordpress
172.19.0.2
172.19.0.3
172.19.0.4
172.19.0.5
172.19.0.0/24