Montar volumenes acs docker
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-13-2019 07:45 PM
Buenas noches.
Intentando levantar alfresco mediante docker, funciona correctamente siguiendo los pasos de la guia:
https://docs.alfresco.com/6.0/tasks/deploy-docker-compose.html
El tema es, cuando quiero modificar el docker-compose y aƱadir volumenes para montar donde yo quiero el contenido y los indices (por aquello de que no estƩ en /Var/lib/docker..... y poder montarlo en carpetas especificas...
Bien, he intentado lo siguiente:
En el servicio alfresco image: alfresco/alfresco-content-repository-community:6.1.2-ga
Definir el directorio de contenido (un disco mas lento y de mƔs espacio), eso funciona OK y se crea bien la carpeta content, etc... (idem con los logs)
volumes:
- /sharedfolders/dockers/AppData/alfresco/alf_repo_data:/usr/local/tomcat/alf_data
- /sharedfolders/dockers/AppData/alfresco/logs/alfresco:/usr/local/tomcat/logs
El tema es... si quiero "extender" alfresco y personalizar... me gustaria montar la carpeta "shared/classes" en alguna ubicacion conociida donde poder tocar el alfresco-global.properties y/o lo que haya en la carpeta alfresco...
Pero si lo monto como volumen:
/sharedfolders/dockers/AppData/alfresco/shared/classes:/usr/local/tomcat/shared/classes
Eso no va a funcionar, porque estoy montando una carpeta "vacia" (shared/classes estĆ” vacia inicalmente) en shared/Classes del contenedir.. y por tanto no levantarĆ”...
Se me ocurre:
- Levantar sin volumen, copiar shared/Classes del contenedor a la ubicación nueva de shared/classes, parar, meter el volumen y a partir de ahi "trabajar"
ĀæPero es correcto asĆ o recomendais otra via para hacerlo?
Idem, para el servicio share:
image: alfresco/alfresco-share:6.1.0-RC3
Āæcomo extenderia share sobre la base q estĆ” en la imagen?
Muchas gracias.
EDIT:
He intentado ver la guia de @angelborroy pero el enlace estĆ” caido: https://community.alfresco.com/community/ecm/blog/2018/05/01/using-alfresco-201804-ea-in-a-simple-pr...
- Labels:
-
Language Groups
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 04:26 AM
Prueba esta herramienta:
https://github.com/Alfresco/alfresco-docker-installer
Te ayudarÔ a entender cómo se montan los diferentes volúmenes para Docker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 05:15 AM
Buenas Angel
muchas gracias por responder tan rapido.
Revisando la herramienta (sin probarla) solo mirando en github y viendo como crearĆa el docker-compose resultante...
Creo que voy a seguir con la duda...
āāā data > DATA STORAGE (it's recommend to perform a backup of this folder) ā āāā alf-repo-data > Content Store for Alfresco Repository ā āāā ldap > [LDAP] Internal database ā āāā ocr > [OCR] Temporal folder shared between Alfresco Repository and OCR ā āāā postgres-data > Internal storage for database ā āāā slap.d > [LDAP] Control folder ā āāā solr-data > Internal storage for SOLR
Esos estƔn genial... en un caso practico, podrian ser carpetas NFS por ejemplo y sobre ella se crean esos volumenes...
Pero si por ejemplo quiero modificar el WEB-INF/classes/alfresco/share-form-config.xml... en principio, no lo tengo como volumen "persistente" ese fichero... Āætendria que modificar el Dockerfile de la imagen de share para que cargue mi "nuevo" share-form-config.xm?
EDIT:
Como lo realizas en este proyecto, https://github.com/angelborroy/alfresco-docker-201707-GA se acerca mÔs a lo que estaba "entendiendo" de que tendria que ir a parar... y es tener la configuración dentro del dockerfile que genere la imagen...
Según el entorno, puede ser mÔs practico... tenerlo en un volumen persistente que luego puedas acceder y "modificar" a tu antojo y luego reiniciar el contenedor. Sin tener que hacer una imagen nueva... ¿me explico?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 10:44 AM
SerĆa suficiente con montar ese volumen en la ruta de Alfresco, lo puedes hacer desde el propio docker-compose.yml
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 11:08 AM
Algo estarƩ haciendo mal...
En mi docker-compose, para el servicio "alfresco-content-repository tengo el siguietne volumen, para tener todo de la carpeta shared/classes....
volumes:
- /sharedfolders/dockers/Config/alfresco:/usr/local/tomcat/shared/classes
y tras levantarlo alfresco-content-repository no se levanta correctamente (da un error en la inicializacion del contexto) y la carpeta se crea (pero vacia).
Por mi experiencia con docker, entiendo que intentar montar esa carpeta como volumen en el destino,pero no al revƩs.
Solo se me ocurre hacer lo siguiente (que me gustaria evitar):
1. Lanzar el docker-compose (sin volumenes) como viene en el dockerhub de alfresco
2. Con todo levantado, entrar en el contenedor y hacer un cp de shared/classes a la carpeta que quiero que haga de volumen
3. Parar todos los contenedores
4. modificar el docker-compose y pasarle como volumen esa carpeta copiada
Deberia levantar correctamente al tener ya los recursos, pero en el volumen que quiero.
La otra opción, serĆa coger el dockerfile de alfrescon-content-repository y modificarlo.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 12:38 PM
Tienes que mapear solo el archivo que quieres sobreescribir, no toda la carpeta.
Por ejemplo:
volumes:
- /sharedfolders/dockers/Config/alfresco/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
Si no, estƔs sobreescribiendo toda la carpeta con el contenido de tu carpeta local (que carece de muchos de los recursos necesarios).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-14-2019 02:03 PM
Pues algo estarƩ haciendo mal...
ERROR: for alfresco Cannot start service alfresco: b'OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \\"rootfs_linux.go:58: mounting \\\\\\"/sharedfolders/dockers/Config/alfresco/alfresco-global.properties\\\\\\" to rootfs \\\\\\"/var/lib/docker/overlay2/be45a247f89f1fd256ec37ab013fece5b72bf6e541336352e3feb70747262a02/merged\\\\\\" at \\\\\\"/var/lib/docker/overlay2/be45a247f89f1fd256ec37ab013fece5b72bf6e541336352e3feb70747262a02/merged/usr/local/tomcat/shared/classes/alfresco-global.properties\\\\\\" caused \\\\\\"not a directory\\\\\\"\\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type'
Y el volumen estĆ” bien puesto en el docker-compose:
services: alfresco: image: alfresco/alfresco-content-repository-community:6.1.2-ga mem_limit: 1500m networks: - my-net environment: JAVA_OPTS : " -Ddb.driver=org.postgresql.Driver -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.url=jdbc:postgresql://postgres:5432/alfresco -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.secureComms=none -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6 -Dshare.host=localhost -Dalfresco.port=8082 -Daos.baseUrlOverwrite=http://localhost:8082/alfresco/aos -Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\" -Ddeployment.method=DOCKER_COMPOSE -Dcsrf.filter.enabled=false -Xms1024m -Xmx1024m " ports: - 8082:8080 #Browser port volumes: - /sharedfolders/dockers/Config/alfresco/alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
Y la ruta es correcta, pero por algun motivo, alfresco-global.properties me lo crea como carpeta en vez de poner el archivo.
Sigo pensando, que el Ćŗnico modo de funcionar, es montando ese volumen, pero creando previamente el archivo (copiandolo antes del contenedor a la maquina).
EDIT: @angelborroy genial como lo realizais aqui:
https://github.com/keensoft/alfresco-docker-template/tree/master/templates/201806-GA
Esto me cuadra mƔs...muchas gracias.
