Skip to content

Latest commit

 

History

History
122 lines (104 loc) · 2.98 KB

dockerInAction.md

File metadata and controls

122 lines (104 loc) · 2.98 KB

Docker In Action

Welcome to docker

  • jails
  • containers
  • the difference between containers and virtualization
  • docker's role
  • user vs kernel space memory

Running software in containers

  • detatched containers
  • interactive containers
  • daemons or services
  • linking containers
  • restarting containers
  • viewing the logs of containers
  • stopping containers
  • PID namespaces
  • renaming containers
  • create containers
  • possible container statuses
  • starting containers
  • readonly filesystems for containers
  • adding exceptions to readonly file systems
  • injecting environment variables to containers
  • recovery strategies
  • view proccesses running inside a container
  • entrypoint scripts
  • removing containers
  • inspecting metadata of docker entities

Software installation simplified

  • images
  • repositories
  • tags
  • removing images
  • saving images
  • loading images
  • dockerfiles
  • layers
  • UFS
  • chroot

working with storage and volumes

  • MNT namespaces
  • bind mounts
  • in memory storage
  • creating volumes
  • associating volumes to containers
  • sharing bind mounts and volumes between containers
  • anonymous voluems
  • copying volumes directly and transitively

Single host networking

  • default docker networks
  • network scopes
  • creating networks
  • attachable networks
  • connecting networks to running containers
  • the host special network
  • the none special network
  • bridge network driver
  • port publishing
  • adding custom hosts to /etc/hosts file in containers

Limiting risk with resource controls

  • default resource restrictions for docker containers
  • restrincting memory usage
  • memory reservation vs protection
  • relative CPU restriction
  • when relative CPU restrictions are enforced
  • explicit core/quota CPU restriction
  • sharing devices between a host and a container
  • IPC namespaces
  • sharing IPC namespaces between processes
  • specifying the run as user when creaeting containers
  • user id spaces
  • adding and dropping linux capabilities from containers
  • priviledged containers

Packaging software in images

  • the path way of creating an image from a container
  • reviewing filesystem changes on a container
  • image attributes
  • how layers work and how files are resolved from a UFS
  • copy on change mechanism
  • explanation of images using the layers concept
  • what tags refer to
  • examining layers of an image
  • exporting flat filesystems
  • importing flat filesystems

Building images automatically with Dockerfiles

  • dockerfiles
  • building images from dockerfiles
  • the special empty repository/image
  • dockerignore file
  • difference between shell and exec command forms
  • command instructions for containers and when they are ignored
  • COPY instruction side effects
  • the default entrypoint
  • difference between COPY and ADD instructions
  • ONBUILD instruction
  • ARG instruction
  • multistage dockerfiles
  • healthchecks
  • appropriate way and time to set the default user

Image piplines

  • all in one pattern
  • build plus runtime pattern
  • build plus multiple runtimes
  • semantic versioning