Speakers list agenda

The Workaday World of Docker Captain

09:30 - 17:30, 7th of May (Tuesday) 2019/ WORKSHOP 3
Amber Expo

Trainer: Łukasz Lach (GOG.com)

Workshop description:

This workshop explains the concepts and best practices of containerization of the entire development flow of projects written in different programming languages. Spawn a complete development environment on-demand, running entirely in Docker - a programming language itself, helper tools like debuggers and static analyzers, but also a complete desktop editor running in a web browser, anywhere. See how to efficiently utilize Docker to work on your project and how to prepare it for the orchestration, get the maximum out of possibilities that Dockerfile and docker-compose.yml files give. Learn how to monitor and (remotely) debug your containers, diagnose individual build steps and misbehaving entry point, dump the network traffic or even bring up an entire Kali Linux Desktop in your browser and use its tools for analysis.

Ease your everyday work - analyze, test, build, monitor, debug your Docker project and prepare it for unexpected - all presented to you by Docker Captain.

Most techniques are borrowed from mid-size and large-scale real-life projects, such as large eCommerce projects, online magazines, and web applications. We won't cover the basics, instead, the workshop covers more advanced — and often obscure and innovative techniques.

In this workshop, we’ll go hands-on into exploring:

  •  On-demand development environment in Docker - Dockerize your everyday work, spawn JetBrains GoLand editor in Docker, when needed.
  •  Developing Docker images - building images, picking the right base image, multi-stage builds, debugging individual build steps, organizing container logging.
  •  Multi-stage CI - analyze, obfuscate, test, build and containerize your project using a single “docker build” command.
  •  Optimizing Docker images - image layers theory and practice, Dockerfile best practices, image squashing, statically linking your project (GoLang), building images “from scratch”.
  •  Using a process manager inside containers - when and which one do you need?
  •  Storing and sharing images - local image registry.
  •  Organizing a Docker project - docker-compose.yml anchors and extensions, the .env file, templating configuration files inside the container.
  •  Monitoring containers - checking logs and resource utilization, attaching and detaching container terminals, monitoring the whole stack or an individual instance in a web browser.
  •  Debugging containers - misbehaving entrypoint, debugging network traffic, logging system calls and shell commands, spawning Kali Linux desktop in Docker for help.
  •  Remote debugging containers - spawn a remotely available web shell inside the container.
  •  Troubleshooting the Docker daemon - debug the daemon, monitor logs and events or dump the stack trace, if needed.
  •  Docker Swarm - rules for creating a Swarm-capable project.
  •  The unexpected - improving Docker performance on MacOS, runtime differences of Docker for Mac and Docker on Linux.
  •  The predicted - chaos-engineering Docker containers, emulating network problems.
  •  The unobvious - experimental features in Docker you are currently using.

Experience required: 

Intermediate level - attendees actively use Docker.

Environment: 

You need to have Docker and docker-compose installed. Links to minimal required versions will be sent via email closer to the workshop.

Language: English.

Lunch: included.

Location: AmberExpo (Gdańsk, Żaglowa 11)

TOPICS:
DevOps FullStack Workshop