Dockerizing your first app

Icaro Caldeira Carreira / @icarcal

Icaro Caldeira Carreira

Docker

Definition

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.

How to

While we’ll define concepts along the way, it is good for you to understand what Docker is and why you would use Docker before we begin.

We also need to assume you are familiar with a few concepts before we continue:
  • IP Addresses and Ports
  • Virtual Machines
  • Editing configuration files
  • Basic familiarity with the ideas of code dependencies and building
  • Machine resource usage terms, like CPU percentages, RAM use in bytes, etc.

Demo

Kitematic

Definition

Run containers through a simple, yet powerful graphical user interface.

How to

Now part of the Docker Toolbox (windows, mac)

Needs to be downloaded for linux through github release

Demo

DockerFile

Definition

A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image

How to

  1. Create a Dockerfile file
  2. Define all the commands that you need for your container to run

Demo

docker-compose

Definition

Compose is a tool for defining and running multi-container Docker applications.

How to

  1. Define your app’s environment with a Dockerfile so it can be reproduced anywhere.
  2. Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.
  3. Run docker-compose up and Compose starts and runs your entire app.

Demo

Referências

https://www.docker.com/

https://docs.docker.com/engine/reference/builder/

https://docs.docker.com/compose/

https://github.com/Qualy-org/qualy-presenter

Dúvidas?

@icarcal

Obrigado