Using Rackspace CloudFiles for Docker registry storage
Use Cloud Files for Docker registry storage
If you want to run your own private Docker registry here’s a quick and easy way to do that using Rackspace Cloud Files as the backend storage. Cloud Files is based on OpenStack Swift, so it comes with all the built in features and reliability that’s designed into Swift. Since this is Docker we’ll do it with the official Docker registry container, install docker-registry-driver-swift, and pass in our Cloud Files/Rackspace information when we run the container.
Build docker registry with swift support
apt-get update && apt-get install -yq python-lxml git git clone https://github.com/bacongobbler/docker-registry-driver-swift.git /src pip install /src
Build the image
docker build -rm -t swift-registry .
Run the container with our Rackspace info
docker run -d \ -e SETTINGS_FLAVOR=swift \ -e STORAGE_PATH=/ \ -e OS_CONTAINER=Cloud Files container name \ -e OS_AUTH_URL=https://identity.api.rackspacecloud.com/v2.0/ \ -e OS_USERNAME=Cloud Account Username \ -e OS_PASSWORD=Cloud Account Password \ -e OS_TENANT_NAME=Cloud Account ID # \ -e OS_REGION_NAME=Region (LON, IAD, ORD, DFW, SYD, HK) \ -e SEARCH_BACKEND=sqlalchemy \ -p 5000:5000 \ swift-registry
To test locally you can push/pull to localhost:5000, or test remotely to your servers public IP and port 5000. Note: this is wide open so I’ll leave securing it up to you, there are a few htpasswd/HTTPS solutions documented out there.