Configuring a DockerHub Registry
You can host your container images on Docker Hub in case your cluster doesn’t provide a default registry.
You need to create an account on https://hub.docker.com/, then use the following command to configure Camel K during installation:
kamel install --registry docker.io --organization your-user-id-or-org --registry-auth-username your-user-id --registry-auth-password your-password
The --registry-auth-username
and --registry-auth-password
flags are used by the kamel
CLI to create a Kubernetes secret
that holds your credentials for authenticating against the Docker registry.
In the general case, the --registry-auth-server
should be used, but it can be omitted for Docker Hub because it’s
automatically set to https://index.docker.io/v1/
.
Alternative Methods
In some cases, you might already have a push/pull secret for Docker Hub in your current namespace.
Or you can also decide to create it using kubectl
, with the following command:
kubectl create secret docker-registry your-secret-name --docker-username your-user --docker-password your-pass
Another possibility is to upload to the cluster your entire list of push/pull secrets:
# First login to your registry and provide credentials
docker login
# Then create a secret from your credentials file (may contain passwords for other registries)
kubectl create secret generic your-secret-name --from-file ~/.docker/config.json
After you’ve created the secret, you can link it to Camel K during installation:
kamel install --registry docker.io --organization your-user-id-or-org --registry-secret your-secret-name