Docker for Developers
© Elephant Scale
Jan. 13, 2020
Overview
Containerization is one of the most important developments in the application deployment in many years and paves the way for many other exciting possibilities in dev/ops.
Docker is the industry-standard container format and Docker tools are the cross-platform standard for creating containers.
What you will learn
- Containerization Technologies
- How to use Docker
- Details of Docker Containers
Audience
Developers, Architects
Duration
3 days
Format
Lectures and hands-on labs. (50%, 50%)
Prerequisites
- Some background with Unix or Linux including the command line
- Some knowledge of a programming language such as Java, C#, Python, Node.js, etc.
Lab environment
- A reasonably modern laptop
- Unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly
- Chrome browser
- SSH client for your platform
Detailed Outline
Container Management
-
- Starting & Stopping Containers
- PID 1 and Containers
- Deleting Containers
- Looking inside of Containers
- Low-Level Container Info
- Getting a Shell in a Container
- Wrap-up
Building from Dockerfile
-
- Introducing the Dockerfile
- Creating a Dockerfile
- Building an image from a Dockerfile
- Inspecting a Dockerfile from DockerHub
Working with the Registry
Creating a Public repo on Docker Hub,
-
- Using our Public repo on Docker Hub,
- Build a Private Registry,
- Using a Private Registry,
- Docker Hub Enterprise
- Wrap-up
Diving Deeper into Dockerfile
-
- The Build cache
- Dockerfile and Layers
- Building a WebServer Container
- The CMD Instruction
- The ENTRYPOINT Instruction
- The ENV Instruction
- Volumes and the VOLUME Instruction
- Module Recap
Networking
-
- docker0 bridge
- Virtual Ethernet interfaces
- network configuration files
- exposing ports
- Viewing exposed reports
- Linking Containers
- Recap
Troubleshooting and Debugging
-
- Docker daemon logging
- container logging
- Planning image builds
- Intermediate Images
- Docker0 bridge
- IPTables
- Recap
Orchestration
-
- Docker machine
- Swarm
- Compose