(this image is using the open source version of artifactory and storers data in the embedded derby database)
backup directories are exported as volumes:
/artifactory/data /artifactory/logs /artifactory/backup
The service is exposed through port
To run artifactory do:
sudo docker run -p 8080:8080 --name artifactory --restart=always -d -v /srv/docker/artifactory/data:/artifactory/data -v /srv/docker/artifactory/logs:/artifactory/logs -v /srv/docker/artifactory/backup:/artifactory/backup semoncat/artifactory
Now point your browser to http://192.168.99.100:8080/artifactory
Administration is done by user
admin with password
The artifactory servlet is available at the
artifactory/ path. However a filter redirects all paths outside of
artifactory/ to the artifactory servlet. Thus instead of linking to the URL http://192.168.99.100:18081/artifactory/libs-release-local you can just link to http://192.168.99.100:18081/libs-release-local (i.e. omitting the subpath
Inject the environment variable
RUNTIME_OPTS when starting a container to set Tomcat's runtime options (i.e.
CATALANA_OPTS). The most common use case is to set the heap size:
docker run -e RUNTIME_OPTS="-Xms256m -Xmx512m" -P amesken/artifactory
Switching to Artifactory Pro
If you are using Artifactory Pro, the artifactory war archive has to be replaced. The image tagged
-onbuild is built with an
ONBUILD trigger for this purpose. Unpack the Artifactory Pro distribution ZIP file and place the file
artifactory.war (located in the archive) in the same directory as a simple Dockerfile that extends the
# Dockerfile for Artifactory Pro FROM mattgruter/artifactory:latest-onbuild
Now build your child docker image:
docker build -t yourname/myartifactory .
ONBUILD trigger ensures your
artifactory.war is picked up and applied to the image upon build.
docker run -P yourname/myartifactory
Context of this image
This artifactory image is originally created to work with a complete Continuous Delivery tool stack which can be obtained from docker or github.
The image is based on this blog article by Marcel Birkner.