
Test du connecteur Alfresco OpenIO avec Docker
Pour tester notre connecteur Alfresco-OpenIO j’utilise la magie de Docker. OpenIO fournit une image Docker prêt à l’emploie. Pour Alfresco on trouve plusieurs images basées sur l’installateur automatique d’Alfresco, ce qui ne me convient pas. J’ai donc créé mes propres images.
Au lieu d’une image contenant Alfresco+Share+Solr+Postgresql, j’ai mis en place 4 images distinctes. C’est ainsi plus simple de remplacer un composant (par exemple Postgresql par MySQL), on peut également redémarrer ou reconstuire uniquement un service ce qui est beaucoup plus rapide.
Les images Alfresco, Share et Solr sont simplement basés sur l’image tomcat officiel “tomcat:7.0.70-jre7” sur lesquelles j’injecte les war officiels d’Alfresco et la configuration spécifique au montage Docker.
Bien sur j’injecte alfresco-mmt.jar
pour facilement installer des modules Alfresco
AMP sur des images filles. C’est ainsi que je créé une image Alfresco contenant
le module Alfresco-OpenIO.
Ensuite il suffit de créer un fichier docker-compose.yml
pour configurer les
services ensembles. Par exemple :
version: '2'
networks:
alf-openio:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.168.0/24
gateway: 192.168.168.1
services:
alfresco:
image: jeci/alfresco-openio
environment:
CATALINA_OPTS: "-Xms512m -Xmx4G -XX:MaxPermSize=256m -XX:-DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Djava.security.egd=file:/dev/./urandom "
depends_on:
- postgresql
- openio
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
links:
- openio
networks:
- alf-openio
share:
image: jeci/share-dc
environment:
CATALINA_OPTS: "-Xms1G -Xmx4G -XX:MaxPermSize=256m -XX:-DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Djava.security.egd=file:/dev/./urandom "
depends_on:
- alfresco
ports:
- "80:8080"
networks:
- alf-openio
cap_drop:
- NET_BIND_SERVICE
solr:
image: jeci/solr-dc
environment:
CATALINA_OPTS: "-Xms512m -Xmx2G -XX:MaxPermSize=512m -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:G1HeapRegionSize=8m -XX:MaxGCPauseMillis=200 -Djava.security.egd=file:/dev/./urandom "
depends_on:
- alfresco
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
networks:
- alf-openio
postgresql:
image: postgres:9.4
environment:
POSTGRES_DB: alfresco
POSTGRES_PASSWORD: alfresco
POSTGRES_USER: alfresco
networks:
- alf-openio
openio:
image: openio/sds
container_name: openio-service
environment:
OIO_NS: OPENIO
OIO_ACCOUNT: alfresco
OPENIO_IPADDR: 192.168.168.10
networks:
alf-openio:
ipv4_address: 192.168.168.10
expose:
- "6006"
stdin_open: true
tty: true
Démarrer l’image OpenIO avec docker-compose n’est pas facile, car OpenIO nécessite d’avoir une adresse ip fixe. Mais une fois correctement en place il suffit de faire :
docker-compose up -d