A docker masterclass to give developers a more hands on experience with using docker from scratch.
- Introduction: Hello my name is "Danvir" not "Docker" (~ 30 mins) (Presentation)
- Agenda for workshop
- What is docker?
- History
- Comparison against virtual environments
- Architecture
- Different versions of docker
- Docker Basics
### 01 - Docker Basics: Command line like a Docker Captain - Exercises (~ 30 mins)
------------- BREAK ------------- (~ 15 mins)
- Dockerfile is just a convention
- The Docker Hub
- Understanding build contexts / working directories
- Difference between COPY and ADD
- Difference between shell-form and exec-form CMD RUN
- Copying files and directories
#### Lab 02a: Create Application (~ 30 mins)
#### Lab 02b: Dockerizing application - Dockerfile (~ 20 mins)
------------- BREAK ------------- (~ 15 mins)
- Adding *meta-data
- Understand the build process
- Choosing and specifying a base image
- .dockerignore file
- Build args and env variables
- How to optimise reusing of layers
- Order matters
- Summarise what we learnt today
- Dockerfile best practices
- New (Experimental) Dockerfile features (Buildkit - context mounts, app caches)
- Docker Networking
- Connecting multiple docker services
- Permissions
- Debugging methodologies