This document explains how to use different Docker registries with Knative
Serving. It assumes you have gone through the steps listed in
DEVELOPMENT.md to set up your development environment (or
that you at least have installed go
, set GOPATH
, and put $GOPATH/bin
on
your PATH
).
It currently only contains instructions for Google Container Registry (GCR), but you should be able to use any Docker registry.
Install the following tools:
-
If you installed
gcloud
using the archive or installer, you can installdocker-credential-gcr
like this:gcloud components install docker-credential-gcr
If you installed
gcloud
using a package manager, you may need to install it withgo get
:go get github.com/GoogleCloudPlatform/docker-credential-gcr
If you used
go get
to install and$GOPATH/bin
isn't already inPATH
, add it:export PATH=$PATH:$GOPATH/bin
-
If you haven't already set up a GCP project, create one and export its name for use in later commands.
export PROJECT_ID=my-project-name gcloud projects create "${PROJECT_ID}"
-
Enable the GCR API.
gcloud --project="${PROJECT_ID}" services enable \ containerregistry.googleapis.com
-
Hook up your GCR credentials. Note that this may complain if you don't have the docker CLI installed, but it is not necessary and should still work.
docker-credential-gcr configure-docker
-
If you need to, update your
KO_DOCKER_REPO
and/orDOCKER_REPO_OVERRIDE
in your.bashrc
. It should now beexport KO_DOCKER_REPO='us.gcr.io/<your-project-id>' export DOCKER_REPO_OVERRIDE="${KO_DOCKER_REPO}"
(You may need to use a different region than
us
if you didn't pick aus
Google Cloud region.)
That's it, you're done!
This section has yet to be written. If you'd like to write it, see issue #23.