There are three basic options for storing the layers required to produce the containers.
Docker Hub, the ‘official’ repository
Self-hosted docker repository
Third-party hosted repository services
Official Docker Registry
Run in Docker and backed with Amazon S3 storage
The easiest way to run a self-hosted Docker Repository is using Docker, unsurprisingly. This command will start a server, using Amazon S3 for storage.
docker run -e SETTINGS_FLAVOR=s3
-e SEARCH_BACKEND=sqlalchemy -p 5000:5000 registry
According to the feature list, it is possible to use Artifactory as a Docker repository. Normally this product would be used for artefacts produced by Java Maven and other similar tools, but if you are already using this then it would be wise to investigate further.