Table of Contents

Docker, comment ça marche

docker run -it debian bash

Lance le programme bash dans un nouveau container1) créé à partir de l'image2) debian.


docker run -it --name spingler centos bash

Lance le programme bash dans un container nommé arbitrairement spingler à partir de l'image centos.


 docker ps -a 

Lister tous les containers, ceux en exécution et ceux en arrêt.


docker exec spingler ls

Exécute dans le container nommé spingler la commande ls.


docker exec -it spingler bash

Exécute de manière interactive le programme bash dans le container nommé spingler.

Comment docker est utilisé chez Elosys

Docker est l'outil privilégié pour faire tourner les services.

Odoo par exemple est déployé sous docker à l'aide de docker-compose.

docker-compose est un programme qui utilise un fichier yaml pour lancer et faire la coordination entre les containers nécessaires au fonctionnement de l'application Odoo.

Ci-dessous un fichier yaml type pour faire tourner un container Odoo avec un container Postgresql.

docker-compose.yml
version: "3"
services:
  odoo:
    image: odoo:14.0
    container_name: myodoo
    depends_on:
      - db
    ports:
      - "8069:8069"
    environment:
      - DB_ENV_POSTGRES_USER=odoo
      - DB_ENV_POSTGRES_PASSWORD=odoo
    links:
      - db:db

  db:
    image: postgres:10.0
    container_name: myodoo_db
    environment:
      - POSTGRES_USER=odoo
      - POSTGRES_PASSWORD=odoo

En exécutant la commande docker-compose up dans un dossier où se trouve ce fichier docker-compose.yml, deux containers seront lancés.

Le premier container myodoo_db sera créé à partir de l'image postgres:10.0. Au premier lancement de ce container de base de données, un utilisateur odoo sera créé avec un mot de passe odoo.

Le deuxième container nommé myodoo sera lancé par la suite à partir de l'image odoo:14.0. L'application Odoo s'exécutant dans le container myodoo se connectera à l'application Postgresql s'exécutant dans le container myodoo_db avec l'utilisateur odoo et le mot de passe odoo. Enfin, l'application odoo sera accessible sur http://localhost:8069

Références Utiles

1)
Un container est une sorte de machine virtuelle allégée
2)
Une image est une sorte de modèle inactif de machine virtuelle à partir duquel un container sera créé