Docker

Target Audience

Prerequisites

Objectives

Course Format

Syllabus

  1. Introduction to Docker
    • Why use Docker?
    • What is Docker?
    • How can Docker bridge the gap between Developers, QA, and Operations?
    • Installing Docker on Windows, macOS, Linux
    • Public Docker Images
    • Docker Registry / Docker HUB
    • Difference between a Docker Image and a Docker Container
    • Docker Daemon (Server), Client
  2. Running the first Docker container
    • Run a Docker container - Hello World!
    • Download a docker image (pull)
    • Docker on the command line
    • List docker containers
    • Cleaning up the dead containers.
    • Remove docker container
    • Name a docker container
    • List docker images
    • Remove docker images
  3. Create a Docker image manually
    • Use the Ubuntu Docker image
    • Use the CentOS Docker image
    • Install packages in the container
    • Create files on the container
    • Stop container
    • Restart container
    • Copy file from container
    • Create image from container
    • Distribute command line script in an image
  4. Create a Docker image using Dockerfile
    • Create a simple image
    • FROM
    • RUN
    • CMD
    • ENTRYPOINT
    • COPY
    • Distributing a command-line application.
    • Accessing the disk on the host system.
    • WORKDIR
    • ENV
    • Layers
    • Caching
    • Tagging an image
  5. Docker compose
    • Run several Docker images at once
    • Rebuild docker image when running with docker-compose
    • Run multi-host applications using docker-compose.
    • Create an image in the repository (from GitHub)
    • Networking with docker-compose
  6. Dockerfile commands
    • ARG
    • ADD
    • CMD
    • COPY
    • ENTRYPOINT
    • ENV
    • EXPOSE
    • FROM
    • RUN
    • WORKDIR
  7. The Python track
    • Distribute a web application: Flask
    • Distribute a web application: Flask + Nginx
    • Distribute a web application: Flask + Nginx + MongoDB
    • Mapping ports of the Docker image and the local system.
    • EXPOSE
  8. Use cases for Docker
    • Distributing a pre-configured system.
    • Distributing a database system.
    • Filesystems
    • Volumes

Contact

Contact: Gabor Szabo gabor@hostlocal.com
Phone: +972-54-4624648