Extending ACS 6 docker images
After you have your ACS 6 local environment running, you’re probably thinking, this is nice, but I want to deploy my favorite amps, like JS console, Alfresco Governance Services (AGS), or even custom developed amps developed with Alfresco SDK.
In short, the goal would be to derive your own container using the ACS6 container as a base. Then deploy that container to a registry like docker hub, which also supports private repositories that you can pull from and deploy in your environments.
Why am I doing it this way? I recommend this free course to answer that question:
In short, it’s to speed up deploy times, and orchestration and rolling updates from a Kubernetes layer.
To extend the base image, you have 2 approaches. Create a new Docker Image with the ACS image as your base, or clone the ACS docker image project, and extend the https://github.com/Alfresco/acs-community-packaging/blob/master/docker-alfresco/Dockerfile
In my case, I choose to extend the base image so that I don’t depend on access to source for maintenance.
Extending ACS Content Repository Community 6.0.5 EA base with Java-Script Console support
Create a folder acsrepo6 with the following Dockerfile
[crayon-5e89abc4e3256513292430/] Navigate to that folder and run
[crayon-5e89abc4e3260202432217/] NB: Use of –squash flag to keep collapse the layers of your Dockerfile so that the resulting size of your image remains small.
Extending ACS Share 6.0.a base with Java-Script Console
Create a folder acsshare6 with the following Dockerfile
[crayon-5e89abc4e3264150348178/] Then navigate to the folder and build the image
[crayon-5e89abc4e3267323086088/] We should now have 2 container images with our extensions
You can verify with the following command
Update your docker-compose.yml to use your custom/extended images
[crayon-5e89abc4e3275032046406/] Then start the system up with the following command
[crayon-5e89abc4e3279657926402/] You should now have ACS 6 EA, with JS console in share
Navigate to http://DOCKER_HOST:8080/share