{{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/]]