Using Artifactory 5.x ?
JFrog Artifactory 5.x User Guide


Have a question? Want to report an issue? Contact JFrog support

Skip to end of metadata
Go to start of metadata

Overview

The Artifactory Pro Registry image offers all the features of Artifactory activated with a Pro license and is a pre-configured image ready to use as a fully-fledged Docker private registry supporting both the Docker V1 and Docker V2 APIs

Artifactory Docker Image Contents

The Artifactory Pro Registry Docker image contains the following components:

  • CentOS v6.6
  • OpenJDK
  • An RPM installation for Artifactory.
  • Nginx with a self-signed certificate

 

Using Artifactory as a secure private Docker registry

The Artifactory Pro Registry installation comes pre-installed with Docker repositories is therefore a secure private Docker registry. You may also create additional Docker repositories in Artifactory as needed. For more details, please refer to Docker Registry.

Page contents


Pulling the Artifactory Docker Image

Artifactory Pro Registry Docker image may be pulled from Bintray by executing the following Docker command:

docker pull docker.bintray.io/jfrog/artifactory-registry:4.16.0

To run previous versions of Artifactory, replace "latest" with the preferred version specifier.


Running Artifactory

Artifactory is included as an RPM service and is automatically started when running the Docker container.

The Artifactory Pro Registry bundles a pre-configured NGINX, self-signed certificate for localhost and art-local and ready-to-use Docker repositories. 

To run Artifactory Pro Registry, execute the following Docker command:

docker run -d --name <CONTAINER_NAME> -p 80:80 -p 8081:8081 -p 443:443 <VOLUME_MOUNTS> docker.bintray.io/jfrog/artifactory-registry:4.16.0

Where:

<CONTANER_NAME>: A logical name for the running container

<HOST_ARTIFACTORY_HOME_PATH>: The path to the $ARTIFACTORY_HOME folder on the host machine running the container

<VOLUME_MOUNTS>: Volume mounts mapping folders in the host machine to corresponding folders in the container as follows:

-v <HOST_ARTIFACTORY_HOME_PATH>/data:/var/opt/jfrog/artifactory/data 
-v <HOST_ARTIFACTORY_HOME_PATH>/logs:/var/opt/jfrog/artifactory/logs 
-v <HOST_ARTIFACTORY_HOME_PATH>/etc:/var/opt/jfrog/artifactory/etc

 

To run previous versions of Artifactory, replace "latest" with the preferred version specifier.

We strongly recommend using a volume mount for reliable persistence and easy access.
Note that when using etc external volume (
<HOST_ARTIFACTORY_HOME_PATH>/etc) without any existing configuration Artifactory will use the default configuration, i.e. without the preconfigured docker repositories mentioned in the docker client configuration section, in which case they will have to be configured manually for the first time.

 

Using Your Own Certificate

The NGINX configuration provided with Artifactory out-of-the-box references the bundled certificate and key which are found under /etc/nginx/ssl/.

This is reflected in the NGINX configuration in the following directives:

ssl_certificate      /etc/nginx/ssl/demo.pem;
ssl_certificate_key  /etc/nginx/ssl/demo.key;

There are two ways to set up NGINX to use your own certificate:

  1. Replace the certificate and key in the Docker image with your own certificate and key, and update the paths in the configuration
  2. Use a Docker volume mount to override the paths specified in the NGINX configuration when running your container. For example:

    docker run -v /etc/nginx/ssl/ ...

Docker Client Configuration

On your Docker client machine you will need to do the following:

  1. You need to add the following to your DNS or /etc/hosts file:

     

    <ip-address> docker-virtual.art.local docker-dev-local2.art.local docker-prod-local2.art.local
  2. Since the certificate is self-signed, you need to configure the Docker client to work with an insecure registry by adding the following line to your /etc/default/docker file (you may need to create the file if it does not already exist):

     

    DOCKER_OPTS="$DOCKER_OPTS --insecure-registry docker-virtual.art.local --insecure-registry docker-dev-local2.art.local --insecure-registry docker-prod-local2.art.local --insecure-registry docker-remote.art.local"
  3. Restart your Docker engine.

 

Additional Information

Memory Parameters

Note that you can pass memory parameters to the container using -e RUNTIME_OPTS="-Xms512m -Xmx4g". This is optional.

Working in the Docker container

 You can work in the Docker container using:

docker exec -it <container name> /bin/bash

Accessing Artifactory Pro Registry

When running Artifactory Pro with the port bindings described above, you can access Artifactory at the following URLs:

- http://localhost/artifactory
- http://localhost:8081/artifactory

Note that it may take several seconds until the Artifactory server completes loading in the background and the Artifactory UI becomes available in your browser.

Running with boot2docker

If you are running with  boot2docker you need to use DOCKER_HOST IP instead of localhost. A custom host may be configured in the Nginx configuration running in the container under /etc/nginx/conf.d/default.conf

 Using Ports Method

Port Bindings

The port bindings used correspond to those used in the pre-configured nginx included with the Docker image and allow you to run Artifactory with the https mappings.

To run Artifactory Pro Registry with ports method, execute the following Docker command:

docker run -d --name <container name> -p 80:80 -p 8081:8081 -p 443:443 -p 5000-5002:5000-5002 <volume mounts> docker.bintray.io/jfrog/artifactory-registry:<version>

<container name>: A logical name for the running container

<version>: The version you want to run. Use latest to indicate that the latest available version should be run.

<volume mounts>: These are optional but we highly recommended the following export and volume mounts for easy access:

export ARTIFACTORY_HOME=/var/opt/jfrog/artifactory

  • -v $ARTIFACTORY_HOME/data
  • -v $ARTIFACTORY_HOME/logs 
  • -v $ARTIFACTORY_HOME/backup 
  • -v $ARTIFACTORY_HOME/etc

The Artifactory Docker image is bundled with NGINX using a self-signed certificate. If you wish to run Artifactory using your own certificate, you also need to add the following mount:

  • -v /etc/nginx

Accessing Artifactory Pro Registry Using the Ports Method

When running Artifactory Pro with the port bindings described above, you can access Artifactory at the following URLs:

- http://localhost/artifactory

- https://localhost:8081/artifactory
- https://localhost:5000/v2 (This is mapped to http://localhost:8081/artifactory/api/docker/docker-remote/v2)
- https://localhost:5001/v1 (This is mapped to http://localhost:8081/artifactory/api/docker/docker-prod-local/v1)
- https://localhost:5002/v1 (This is mapped to http://localhost:8081/artifactory/api/docker/docker-dev-local/v1)
- https://localhost:5001/v2 (This is mapped to http://localhost:8081/artifactory/api/docker/docker-prod-local/v2)
- https://localhost:5002/v2 (This is mapped to http://localhost:8081/artifactory/api/docker/docker-dev-local/v2)

Upgrading Artifactory Pro Registry

To upgrade Artifactory Pro Registry, please refer to Upgrading Artifactory  

 

 

 

 

  • No labels