{{tag> docker build}}
====== Ajouter des bibliothèques python à odoo sous docker ======
{{ :clientsdoc:asterisk.png?300| }}
Certains modules Odoo ont des dépendances externes qui se présentent sous forme de bibliothèques python ou de paquets système.
Le module ''Asterisk connector'' par exemple nécessite la bibliothèque python ''py-Asterisk''.
Quand on est sous docker, il faut modifier l'image Odoo pour y inclure cette dépendance nécessaire.
Ici nous allons utiliser l'image ''odoo:14.0'' pour l'exemple.
Pour modifier une image docker on utilisera un fichier de recette appelé Dockerfile.
FROM odoo:14.0
USER root
RUN pip3 install -U pip
RUN pip3 install py-Asterisk
USER odoo
Ce fichier sera nommé ''Dockerfile'' et déposé dans un dossier ''build''.
Dans ce dossier exécutera la commande:
docker build . -t odoo:14.asterisk
Cette commande va créer une nouvelle image odoo nommée ''odoo:14.asterisk'' où sera embarquée de la bibliothèque python ''py-Asterisk''.
Cette nouvelle image sera ensuite utilisée pour lancer le container Odoo.
Pour cela, il faudra modifier le fichier ''docker-compose.yml'' pour utiliser cette nouvelle image au lieu l'originale.
version: "3"
services:
odoo:
image: odoo:14.astrisk # au lieu de 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
===== Voir aussi =====
* [[development:docker_overview|Introduction à docker]]
===== Références =====
* https://docs.docker.com/engine/reference/builder/
* https://docs.docker.com/develop/develop-images/dockerfile_best-practices/