The New Artifactory Docker Distribution

The New Artifactory Docker Distribution

The recent release of Artifactory generation 5.x introduced many new features such as cloud-native storage and cluster license management for high availability, authentication, and authorization with access tokens, easy onboarding, and much more. In addition to new features, we also revamped our Docker distribution, completely redesigning it from scratch. Now, it’s much easier to spin up Artifactory in a Docker container.

Here are the main improvements:

The OS setup in the container is much simpler

We now use the official OpenJDK base image, which is updated with the latest OS security updates on every build

Using the Artifactory zip distribution to run Artifactory in a container

Artifactory comes in the Docker container as an exploded zip archive. The container just runs an entry point script that calls artifactory.sh.

A single mount volume is all you need

The new Artifactory Docker distribution provides a truly persistent storage solution for Artifactory adhering to the immutable nature of Docker containers, all with a single mount volume.

Nginx is separated from Artifactory

Nginx is now built into a separate Docker image that can be used in multiple deployment scenarios with the matching Artifactory image, adhering to the best practice of one container per process.

A single Artifactory Pro image

The new distribution is used for all deployment scenarios. You can control its behavior and deployment type using environment variables that are processed at the container’s entry-point and prepare it for its intended role.

Single Artifactory lifecycle

The Docker image sources are now fully integrated with the Artifactory OSS and Pro source code, so they are routinely built with our CI and release cycles. This means that the Docker distribution element of Artifactory is routinely and integrally tested as part of the CI cycle rather than in a separate cycle.

Read our next post to see how easy it is to spin up Artifactory Pro in Docker.