UrbanCode Deploy began supporting Artifactory hosted Docker registries starting with version 16 of the Docker Registry plug-in.
The following properties must be specified to configure an Artifactory hosted Docker registry.
- Image Name: The namespace or repository of the image in the Docker registry.
- Registry: The host name of the Artifactory server or the reverse proxy of the Docker registry.
- Registry Type: Select the
- Registry Username: If the Docker registry is secure, specify a user name to authenticate.
- Registry Password: If the Docker registry is secure, specify the password associated with the user name to authenticate.
Specify the complete repository path to the Docker registry. Do not specify a version. The source configuration identifies all image versions and create new component versions for each. If you were importing the below sample repository, you would specify
central-it-docbuild-docker/docbuild-dcs-buildenv as the Image Name. Following version import, there will be 2 new component versions:
latest. If the
_uploads folder had other docker images for import, the Image Name would be
central-it-docbuild-docker/docbuild-dcs-buildenv/_uploads. A new component should be made for the each registry. It’s important to recognize that the first string separated by the back slash is considered the
namespace (central-it-docbuild-docker) while everything following is the
The plug-in supports two Artifactory Docker Registry scenarios:
- Artifactory server’s hostname
- Reverse proxy to the Docker registry
On import, the plugin will ping the server and determine which type of URL is specified. While this process is taken care of within the plug-in, it’s important to understand that the REST call’s paths vary slightly. The reverse proxy provides direct access to a specific Docker Registry namespace. For example, if we pretend that from the above example
my-artifactory-server.com:8443 is the Artifactory’s hostname, the plug-in connects to the registry using the following constructed URL:
https://my-artifactory-server.com:8443/artifactoy/api/docker/central-it-docbuild-docker. However, one could specify a reverse proxy that would route all calls to that URL and therefore, simplify REST calls and mirror Docker’s supported API. While a small point that is resolved by the plug-in, it is important to understand the difference in case debugging is required. Further information and directions on setting up your own reverse proxy can be found on Artifactory’s documentation page.
The Registry Type property must be set to
Artifactory otherwise a different Docker connection method is used. The incorrect specification results in an immediate failure. The user name and password properties are required, if your Docker registry is secured.