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