ODOO 8 – Utilisation de Docker pour installer et exécuter Odoo (2/2)

Après avoir fait un essai "docker" avec une 1ère image "dockerfile", je souhaite faire un 2ème essai avec des images  produites par la société XCG (plus récentes et mises à jour plus régulièrement). Au lieu d'avoir une seule image "Postgresql+Odoo 8", nous avons 2 images "Odoo" et "Postgresql" et donc 2 containers.

Environnement
- serveur virtualisé Ubuntu 14.04-64 bits sur lequel seront installés docker et Odoo
   ... à noter que Docker nécessite un linux 64 bits et un noyau >=3.8
- navigateur sur PC Linux Mint 14  à partir duquel on accédera à Odoo

- repository XCG : https://registry.hub.docker.com/u/xcgd/odoo



Description
- Se connecter sur le serveur ubuntu avec les droits "root"

- installer docker (pas nécessairement la dernière version de docker)
apt-get update

apt-get install docker.io

- pour avoir la "completion" dans les commandes docker
source /etc/bash_completion.d/docker.io

- lancer docker
service docker.io start

- installer puis lancer le conteneur Postgresql
docker run --name="pg93" xcgd/postgresql

- installer puis lancer le conteneur Odoo 8
docker run -p 8069:8069 --rm --name="odoo" --link pg93:db xcgd/odoo:8.0 start
Remarque : le mot de passe "admin" par défaut est somesuperstrongadminpasswdYOUNEEDTOCHANGEBEFORERUNNING

- vérifier que les 2 conteneurs sont lancés
docker ps

- Odoo est alors accessible par votre navigateur
http://<votre adr ip>:8069

- Rappel de commandes usuelles docker : 
docker stop odoo
docker start odoo 
docker rm odoo
docker pull odoo
docker images 
docker rmi <image id> 

Comment accéder au container "Odoo"
- installer "nsenter"
docker run -v /usr/local/bin:/target jpetazzo/nsenter

- récupérer le PID du container
PID=$(docker inspect --format {{.State.Pid}} odoo)

- se connecter au container et accèder au shell
nsenter --target $PID --mount --uts --ipc --net --pid

- copier un répertoire (ex: nouveau module) du host vers le container odoo
   * commandes sur le host :
docker inspect -f   '{{.Id}}' odoo
   exemple de résultat :
   aa0616947976e92ece063a0f188eb6f7f702f6d232e97ee06cd6f7f211edd58a

cp -R <module> /var/lib/docker/aufs/mnt/**aa0616947976e92ece063a0f188eb6f7f702f6d232e97ee06cd6f7f211edd58a**/root

   * commandes dans le container :
cd /opt/odoo/additional_addons
mv /root/<module> .

- faire un commit d'une image
docker commit  <id container>  <nom image>:<no version>

3 réflexions sur « ODOO 8 – Utilisation de Docker pour installer et exécuter Odoo (2/2) »

  1. Bonsoir
    Merci pour le partage.
    Comment puis je utiliser la même base de donnée PostgreSQL pour plusieurs container odoo.
    Je vois qu'ici le seul container a l'acces admin à la BDD

    1. je pense pas que ca soit possible. docker definit le fait que chaque instance à son conteneur ainsi que son esace bd propre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *