Alfresco Docker Images are available in Docker Hub Alfresco account, this is the source for Docker Compose templates and Helm Chars deployments. From these Docker Images, customizations can be added extending the original Docker Images by using specific Dockerfile files.
However, this blog post is describing the process to build Alfresco Docker Images from GitHub source code. This will give you a deeper understanding on the insights of every Alfresco Docker Image available in Docker Hub.
COMMUNITY
Following diagram describes all the final and base Docker Images available in the Source Code.
base-java
https://github.com/Alfresco/alfresco-docker-base-java/blob/master/Dockerfile
This Dockerfile is used as base of every final Docker Image, since it includes the installation of the OS and the JDK. There some options for the OS (Ubuntu, Debian, CentOS and ubi) and also some options for the JDK (java 8 and java 11), however almost every Docker Image in Docker Hub is using as base CentOS 7 and Java 11.
base-tomcat
https://github.com/Alfresco/alfresco-docker-base-tomcat/blob/master/Dockerfile
Both alfresco and share web applications are deployed in Apache Tomcat. This is the image installing the Tomcat software that also provides a multi layer scheme for versions 8, 9 and 10. Mainly, Alfresco Docker Images in Docker Hub, are using Tomcat 9.
base-repo
https://github.com/Alfresco/alfresco-community-repo/blob/master/packaging/docker-alfresco/Dockerfile
Alfresco web application is built in two stages: the first one is the base-repo that includes Alfresco core web application.
repo
https://github.com/Alfresco/acs-community-packaging/blob/master/docker-alfresco/Dockerfile
The final version of the Alfresco Docker Image is built from acs-community-packaging project, that adds some addons and other configuration to the base image.
share
https://github.com/Alfresco/alfresco-community-share/blob/master/packaging/docker/Dockerfile
Share web application is built from base-tomcat, adding deployment artifacts and some configuration files.
search
Search Services application is built from base-java, since SOLR is deployed using Jetty instead of Tomcat. Application and configuration files are applied in this Dockerfile to produce the Docker Image.
activemq
https://github.com/Alfresco/alfresco-docker-activemq/blob/master/Dockerfile
Asynchronous Messaging broker, based in Apache ActiveMQ, is built by this Dockerfile. This image also relies on base-java and adds some default configuration to the broker.
transform-core
Since Transform Engine can be deployed in smaller services (Tika, LibreOffice, ImageMagick and PDFRenderer), the All-In-One Docker Image is built from this Dockerfile. All required software is installed in the image and the Spring Boot application is configured.
ENTERPRISE
When using ACS Enterprise version, the structure is similar to the one existing for Community. However, in this case, the original GitHub projects are private and the Docker Registry is hosted in Quay.io. To use this Enterprise Docker Images, customer credentials are required. Contact with Alfresco Support to get yours.
CUSTOM DOCKER IMAGES
However, if you don't want to build Docker Images from scratch or to use default Alfresco Docker Images, you can build your own Docker Images from Alfresco Nexus Repository. Nice sample from this approach is provided by @afaust, available in the GitHub project https://github.com/Acosix/acosix-docker-alfresco
Detailed steps to get ZIP Distribution files from Nexus Repository are described in the different Dockerfiles.
If you're working with the Enterprise Docker Images, this approach to build customized Docker Images from our partner Xenit could help:
https://github.com/xenit-eu/docker-alfresco
VIDEO
Check out this video to get some additional details on the process
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.