Problem 1
●
Keep different Dockerfiles per
environment
●
! dev tools and dependencies on
production
Slide 6
Slide 6 text
Problem 2
●
Big, huge, immense images
●
One or two commands may leave
images out of control
Slide 7
Slide 7 text
Dependencies
Slide 8
Slide 8 text
Checklist
●
Have only one Dockerfile
●
Use the same Dockerfile for all
environments (dev, test, prod)
●
Create small images
●
Manage less dependencies
Slide 9
Slide 9 text
Official PHP image
●
One Dockerfile
●
All environments
●
Small images
●
Less dependencies
Time: ~39s
Size: 430MB
Security problems
Slide 10
Slide 10 text
Multi-stage
Slide 11
Slide 11 text
Official PHP image multi-stage
●
One Dockerfile
●
All environments
●
Small images
●
Less dependencies
Time: ~40s
Size: 393MB
Not that small, hidden
dependencies
Slide 12
Slide 12 text
Alpine image
●
One Dockerfile
●
All environments
●
Small images
●
Less dependencies
Time: ~11s
Size: 59.4MB
Still have unwanted
dependencies
Slide 13
Slide 13 text
Alpine image multi-stage
●
One Dockerfile
●
All environments
●
Small images
●
Less dependencies
Time: ~16s
Size: 35.8MB
This is ART <3