Docker est un des logiciels libres qui fait le plus de "buzz" en ce moment.
C'est un conteneur ou isolateur qui permet d'exécuter plusieurs environnements applicatifs isolés sur un OS hôte mutualisé ...
... sans avoir besoin comme les systèmes de virtualisation (hyperviseur/émulateur) de déployer un OS invité par environnement
Pour plus d'infos sur docker, je vous invite à regarder cette présentation.
Environnement technique
- 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
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 Odoo (le 1er lancement dure quelques minutes)
docker run -d --name odoo -p 8069:8069 tinyerp/ubuntu-odoo
... l'image docker "ubuntu-odoo" comprend Odoo 8+PostgresSQL 9.4
... les images docker Odoo sont sous https://hub.docker.com/u/tinyerp
- vérifier que le conteneur est lancé
docker ps
- Odoo est alors accessible par votre navigateur
http://<votre adr ip>:8069
- quelques commandes docker :
docker stop odoo
docker start odoo
docker rm odoo
NB : L'image docker (dockerfile) Odoo n'est pas parfaite : j'ai le message suivant à l'impression d'un document (devis ...), en lien avec une version pas à jour du composant "wkhtmltopdf" :
Pour enlever ce message d'erreur il faut mettre la dernière version et la placer dans le dossier qu'utilise odoo :
sudo wget http://kaz.dl.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
sudo cp /usr/local/bin/wkhtmltopdf /usr/bin
sudo cp /usr/local/bin/wkhtmltoimage /usr/bin
Merci JB pour l'info.
J'ajouterai qu'il faut au préalable accéder au shell du container avant de passer tes commandes, soit :
– 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
Je ferai un test plus tard de tout cela …
Ou sinon plus simplement : docker exec -it contenair-id bash
pour rentrer dans un conteneur en shell
Comment je peux modifier un module dans cette image Odoo? je peux faire une personnalisation dessus?
Merci d'avance