====== Images Owncloud 7 Nginx avec lien postgresql ======
Le but est de demarrer une instance owncloud 7 dans un containeur docker, en stockant les info dans un autre containeur hébergeant une instance postgresql.
===== Récupération des images =====
Pas d'images officielles, mais l'utilisateur jchaney propose un containeur owncloud 7 récent, avec nginx. Postgres est par contre en image officielle.
docker pull jchaney/owncloud
docker pull postgres
===== Démarrage des instances =====
docker run --name postgresql -d postgres
Pour vérifier que l'image est en cours de fonctionnement:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06571efad0ad postgres:latest "/docker-entrypoint. 10 seconds ago Up 8 seconds 5432/tcp postgresql
Ou encore avec ps/pstree qui montre bien des process postgres. Par contre rien n'est exporté/visible sur la couche réseau.
Pour démarrer l'instance owncloud, en stockant les données dans /tmp/owncloud (par ex), d'abord s'occuper du context SeLinux:
chcon -Rt svirt_sandbox_file_t /tmp/owncloud/
docker run -p 80:80 --name owncloud --link postgresql:db -v /tmp/owncloud:/var/www/owncloud/data jchaney/owncloud
Cette image docker peut aussi est démarrée avec le support SSL.
Avec les paramètres indiqués plus haut, cette image docker aura un lien vers le containeur postgres, avec comme alias le nom "db". Ce qui veut dire que docker aura normalement ajouté dans l'instance owncloud dans le fichier /etc/hosts, une résolution pour l'hote db. Seul le port 80 sera exporté et visible sur le réseau physique.
On accède à owncloud via http://IP/owncloud et on peut terminer son installation. Le nom utilisateur pour la base postgresql est postgres. Par défaut pas de mot de passe (vu qu'on sort pas sur le réseau), on choisi un nom pour la base (ce qu'on veut), et le hostname est l'alias choisi pour le lien, donc "db".