/alfresco-docker-base-java

Primary LanguageShellApache License 2.0Apache-2.0

Docker Repository on Quay

Welcome to Alfresco Docker Base Java

Introduction

This repository contains the Dockerfile used to create the parent Java image that will be used by Alfresco engineering teams, other internal groups in the organisation, customers and partners to create images as part of the Alfresco Digital Business Platform.

The architectural decision record can be found here.

Versioning

Currently any pull request to this project should ensure that DOCKER_IMAGE_TAG, DOCKER_IMAGE_TAG_SHORT_NAME are set with the relevant values in build.properties. New versions of Java should have their sha256 checksum added as JRE_CHECKSUM_256_<version>, where this name matches the artifact stored on artifacts.alfresco.com.

Build-pinning is available on quay to ensure an exact build artifact is used.

How to Build

To build a local version of the base java image follow the instructions below

  1. Prepare the docker build environment. This will get the appropriate version of the Oracle Java Server JRE. Run the following script
./build-prep.sh
  1. Build the docker image
docker build -t alfresco/alfresco-base-java .

Pulling released images

Builds are available from Docker Hub

docker pull alfresco/alfresco-base-java:8
docker pull alfresco/alfresco-base-java:8u161-oracle-centos-7

The builds are identical to those stored in the private repo on Quay, (which also supports build-pinning versions).

docker pull quay.io/alfresco/alfresco-base-java:8
docker pull quay.io/alfresco/alfresco-base-java:8u161-oracle-centos-7
docker pull quay.io/alfresco/alfresco-base-java:8u161-oracle-centos-7-333472fed423

Usage

Standalone

The image can be used via docker run to run java applications with --read-only set, without any loss of functionality (with the obvious caveat that the application itself does not write to the filesystem).

Parent Image

It is more likely to be used as a parent image in a Dockerfile. For reference, see the documentation on layers, the VOLUME instruction, and best practices with VOLUMEs.

Examples of usage as a parent image

Example from a Dockerfile using a public, parent image in Docker Hub.

FROM alfresco/alfresco-base-java:8

Example from a Dockerfile using a private, parent image in Quay:

FROM quay.io/alfresco/alfresco-base-java:8u161-oracle-centos-7-333472fed423

See Alfresco Base Tomcat for a concrete example.