Docker (GL340) (H0DS3S) – Outline

Detailed Course Outline

Container Technology Overview
  • Application management landscape
  • Application isolation
  • Resource measurement and control
  • Container security
  • OverlayFS overview
  • Container security
  • Open container initiative
  • Docker alternatives
  • Docker ecosystem
  • Lab Tasks
    • Container concepts runC
    • Container concepts Systemd
Installing Docker
  • Installing Docker
  • Docker architecture
  • Starting the Docker daemon
  • Docker daemon configuration
  • Docker control socket
  • Enabling TLS for Docker
  • Validating Docker install
  • Lab Tasks
    • Installing Docker
    • Protecting Docker with TLS
Managing Containers
  • Creating a new container
  • Listing containers
  • Managing container resources
  • Running commands in an existing container
  • Interacting with a running container
  • Stopping, starting, and removing containers
  • Copying files in/out of containers
  • Inspecting and updating containers
  • Docker output filtering and formatting
  • Lab Tasks
  • Managing containers
  • Configure a Docker container to start at boot
Managing Images
  • Docker images
  • Listing and removing images
  • Searching for images
  • Downloading images
  • Uploading images
  • Export/import images
  • Save/load images
  • Committing changes
  • Lab Tasks
    • Docker images
    • Docker platform images
Creating Images with Dockerfile
  • Dockerfile
  • Caching
  • Docker image build
  • Dockerfile instructions
  • ENV and WORKDIR
  • Running commands
  • Getting files into the image
  • Defining container executable
  • HEALTHCHECK
  • Best practices
  • Multi-stage builds with Dockerfile
  • Lab Tasks
    • Dockerfile fundamentals
    • Optimizing image build size
    • Image builds and caching
Docker Volumes
  • Volume concepts
  • The Docker volume command
  • Creating and using internal volumes
  • Internal volume drivers
  • Removing volumes
  • Creating and using external volumes
  • SELinux considerations
  • Mapping devices
  • Lab Tasks
    • Docker internal volumes
    • Docker external volumes
Docker Compose/Swarm
  • Writing YAML files
  • Concepts
  • Compose CLI
  • Defining a service set
  • Compose versions
  • Docker Engine swarm mode
  • Docker swarm terms
  • Docker swarm command overview
  • Creating a swarm
  • Creating services
  • Creating secrets
  • Stack files
  • Stack command
  • Swarm placements
  • Swarm resource limits and reservations
  • Swarm networking
  • Swarm networking troubleshooting
Docker Networking
  • Overview
  • Data link layer details
  • Network layer details
  • Hostnames and DNS
  • Service reachability
  • Container to container communication
  • Container to container: links
  • Container to container: private network
  • Managing private networks
  • Remote host to container
  • Lab Tasks
    • Docker networking
    • Exposing ports
Docker Logging
  • Docker logging
  • Docker logging with json-file and journald
  • Docker logging with syslog
  • Docker logging with Graylog or Logstash
  • Docker logging with Fluentd
  • Docker logging with Amazon or Google
  • Docker logging with Splunk
  • Lab Tasks
    • Logging to syslog Appendix A
    • Docker Registry Lab Tasks