Dockerfile correction and add a way to save/load the docker images.
--- 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 \