Docker et la Conteneurisation

Conteneurisation vs Virtualisation

Conteneurisation

Virtualisation

Quelques avantages de la conteneurisation

  • Isolation des ressources (RAM, réseau, user, disque, ...)
  • Simplicité
  • Portabilité
  • Homogénéisation
  • Rapidité de déploiement
  • Agnostique de la plateforme (AWS, GCP, OVH, DataCenter d'entreprise, la machine d'un dev ou d'un testeur, ...)

Inconvéniants conainarisation

  • Accès à des ressources machines spécifiques (GPU, ...)
  • Stockage

Technologies

  • Docker (2013)
  • LXC (2008)
  • OpenVZ (2005)

Présentation

Installation

Commandes de bases

Pull Image

docker pull name:[tag]

Un registre d'images

Run Container

docker run name:[tag]

Gestion des volumes

docker volume cmd

Lançons notre blog aujourd'hui

docker run -d --name my-blog ghost

Docker Compose

version: '3.1'

services:

  ghost:
    image: ghost:1-alpine
    restart: always
    ports:
      - 8080:2368
    environment:
      # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables
      database__client: mysql
      database__connection__host: db
      database__connection__user: root
      database__connection__password: example
      database__connection__database: ghost

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

Orchestration

Technologies

  • Swarm
  • Kubernetes
  • Mesos

Docker Swarm

Docker Stack

version: '3.1'

services:

  ghost:
    image: ghost:1-alpine
    restart: always
    ports:
      - 8080:2368
    environment:
      # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables
      database__client: mysql
      database__connection__host: db
      database__connection__user: root
      database__connection__password: example
      database__connection__database: ghost

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

Un écosystème

The End

Docker

By Emmanuel Gautier