{{tag>docker}}
==== Docker, comment ça marche ====
docker run -it debian bash
Lance le programme ''bash'' dans un nouveau ''container''((
Un container est une sorte de machine virtuelle allégée
)) créé à partir de l'image((
Une image est une sorte de modèle inactif de machine virtuelle à partir duquel un container sera créé
)) ''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.
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 ====
* [[https://docs.docker.com/]]
* [[https://docs.docker.com/compose/]]