OpenShift: How to access Private GitLab Docker registry
Here's a quick howto, if you want to pull an image from a private repo, for example, registry.gitlab.example.com.
PS: You may need to create 2 secrets, using both, registry.gitlab.example.com & gitlab.example.com, for --docker-server
ref: https://github.com/openshift/origin/issues/9584#issuecomment-229677662
### Set variables
GITLAB_URL='gitlab.example.com'
GITLAB_AUTH_USERNAME='gitlab+deploy-token-17'
GITLAB_AUTH_PASSWORD='0fpvs2bHyVazEUdX7yhs'
DOCKER_EMAIL='[email protected]'
### access to gitlab private repository
$ oc get secret git-registry || oc create secret docker-registry git-registry --docker-server=${GITLAB_URL} --docker-username="${GITLAB_AUTH_USERNAME}" --docker-password="${GITLAB_AUTH_PASSWORD}" --docker-email=${DOCKER_EMAIL} && oc secrets link default git-registry --for=pull
$ oc get secret gitlab-registry || oc create secret docker-registry gitlab-registry --docker-server=registry.${GITLAB_URL} --docker-username="${GITLAB_AUTH_USERNAME}" --docker-password="${GITLAB_AUTH_PASSWORD}" --docker-email=${DOCKER_EMAIL} && oc secrets link default gitlab-registry --for=pull
# Get the --docker-server url:
# https://github.com/openshift/origin/issues/9584#issuecomment-361912315
curl -I https://registry.gitlab.example.com/v2/ |& grep -i www-authenticate