Dockerfile correction and add a way to save/load the docker images.
authorymh <ymh.work@gmail.com>
Fri, 16 Mar 2018 12:29:12 +0100
changeset 687 53fee689f666
parent 686 385e3a12ee27
child 688 d3ae49dac5e7
Dockerfile correction and add a way to save/load the docker images.
.hgignore
dev/README.md
dev/docker-compose.yml
dev/hdalab/Dockerfile
--- a/.hgignore	Thu Mar 15 23:52:11 2018 +0100
+++ b/.hgignore	Fri Mar 16 12:29:12 2018 +0100
@@ -25,3 +25,4 @@
 ^src/dist
 ^src/MANIFEST.in$
 ^dev/hdalab/dist
+^dev/out
--- a/dev/README.md	Thu Mar 15 23:52:11 2018 +0100
+++ b/dev/README.md	Fri Mar 16 12:29:12 2018 +0100
@@ -1,16 +1,40 @@
 # HDALab Docker images
 
-- restore database
--
+L'application HDALab a été conteneurisée en 5 services dont 2 nécessite la construction d'une image.
+Les services sont orchestrés avec l'application `docker-compose`.
+L'ensemble expose les ports suivant sur l'ordinateur hôte:
+  - port 8080 : l'interface web HDALab
+  - port 8025 : Accès à l'interface de consultation [mailhog](https://github.com/mailhog/MailHog).
+  - port 5432 : port serveur postgresql
+
+## Mise place des images conteneurs docker
+
+Deux possibilités existent pour mettre en place les images docker :
+  - construire les images
+  - import des images
+
+### Construction des images
 
+Les commandes suivantes permettent de construire les images. Ces commandes sont à lancer dans le même répertoire que le fichier `docker-compose.yml`.
+
+```
+$ ./prepare_docker_build.sh
+$ docker-compose -p hdalab build
+```
+
+### Import des images
+
+Lancer cette commande pour charger les images du projet.
+
+```
+$ docker load -i <chemin/vers/fichier/archives/images>
+```
 
 ## Comment construire les container HDALab
 
 Toutes les commandes suivantes sont à effectuer dans le répertoire contenant le fichier `docker-compose.yml`.
 
 ```
-$ ./prepare_docker_build.sh
-$ docker-compose -p hdalab build
 $ docker-compose -p hdalab up -d
 $ docker-compose -p hdalab exec hdalab django-admin collectstatic --noinput
 $ docker-compose -p hdalab exec hdalab django-admin migrate --noinput
@@ -30,7 +54,7 @@
 ### Import des données issues de l'export HDA
 
 Cette commande importe les données RDF exportées à partir de l'application HDA.
-Attention cette commande peut être longue.
+Attention cette commande peut être longue (plusieurs heures).
 
 ```
 $ docker-compose -p hdalab exec hdalab /usr/local/sbin/import_hda_rdf.sh /etc/hdalab/data /var/lib/hdalab http://data.culture.fr/entrepot/HDA/export.tgz
@@ -63,7 +87,6 @@
 
 ```
 
-
 # Commandes utiles
 
 ## liste des services
@@ -129,3 +152,10 @@
 $ echo "drop database hdalab;\ncreate database hdalab owner iri encoding 'utf-8';" | docker exec -i hdalab_pg_1 psql -U iri postgres
 ```
 
+## Accès à la base de donnée
+
+Le port postgresql 5432 est ouvert sur l'ordinateur hôte.
+La base utilisée par l'application est `hdalab`.
+L'utilisateur et mot de passe pour y accéder sont :
+  - utilisateur: `iri`
+  - mot de passe: `iri`
--- a/dev/docker-compose.yml	Thu Mar 15 23:52:11 2018 +0100
+++ b/dev/docker-compose.yml	Fri Mar 16 12:29:12 2018 +0100
@@ -14,6 +14,7 @@
       - pg-data:/var/lib/postgresql/data
   # nginx (webserver)
   front:
+    image: hdalab_front:latest
     build:
       context: ./front
     ports:
@@ -48,6 +49,7 @@
 
   # hdalab
   hdalab:
+    image: hdalab_hdalab:latest
     build: ./hdalab
     volumes:
       - static-content:/var/lib/hdalab/static
--- a/dev/hdalab/Dockerfile	Thu Mar 15 23:52:11 2018 +0100
+++ b/dev/hdalab/Dockerfile	Fri Mar 16 12:29:12 2018 +0100
@@ -8,11 +8,12 @@
  && apk add --upgrade apk-tools@edge \
  && apk add --no-cache --virtual build-deps gcc python-dev musl-dev linux-headers postgresql-dev \
  && apk add --no-cache supervisor curl bash \
+ && apk add --no-cache libxml2 libxslt postgresql-client \
  && apk add --no-cache --virtual build-deps libxml2-dev \
  && apk add --no-cache --virtual build-deps libxslt-dev \
  && apk add --no-cache unixodbc raptor2 rasqal redland \
  && apk add --no-cache --virtual build-deps sqlite-dev libtool make automake autoconf swig raptor2-dev rasqal-dev redland-dev \
- && apk add --no-cache jpeg zlib freetype lcms2 openjpeg tiff tk tcl harfbuzz fribidi \
+ && apk add --no-cache jpeg zlib freetype lcms2 openjpeg tiff tk tcl harfbuzz fribidi sqlite \
  && apk add --no-cache --virtual build-deps jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev harfbuzz-dev fribidi-dev \
  && mkdir -p /usr/include/libxml \
  && ln -s /usr/include/libxml2/libxml/xmlexports.h /usr/include/libxml/xmlexports.h \