mirror of https://github.com/knative/docs.git
Add instructions for configuring GCR (#182)
We should eventually add instructions for other registries, but this will help people using GCR to get started.
This commit is contained in:
parent
7461c50ace
commit
078611aca3
|
|
@ -62,28 +62,6 @@ To use a k8s cluster running in GKE:
|
||||||
--user=$GCP_USER
|
--user=$GCP_USER
|
||||||
```
|
```
|
||||||
|
|
||||||
7. Enable the GCR API:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
gcloud --project=$PROJECT_ID service-management enable containerregistry.googleapis.com
|
|
||||||
```
|
|
||||||
|
|
||||||
8. Install the `docker-credential-gcr` helper so Docker (and Bazel) can
|
|
||||||
authenticate with GCR:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
gcloud components install docker-credential-gcr
|
|
||||||
```
|
|
||||||
|
|
||||||
9. Add the GCR credentials to the Docker config file:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
docker-credential-gcr configure-docker
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you can use `gcr.io/$PROJECT_ID` as your Docker repo and your GKE
|
|
||||||
cluster will automatically pull from it.
|
|
||||||
|
|
||||||
## Minikube
|
## Minikube
|
||||||
|
|
||||||
1. [Install and configure
|
1. [Install and configure
|
||||||
|
|
@ -106,10 +84,10 @@ minikube start \
|
||||||
|
|
||||||
You can use Google Container Registry as the registry for a Minikube cluster.
|
You can use Google Container Registry as the registry for a Minikube cluster.
|
||||||
|
|
||||||
1. [Set up a GCR repo](TODO). Export the environment variable `PROJECT_ID`
|
1. [Set up a GCR repo](setting-up-a-docker-registry.md). Export the environment
|
||||||
as the name of your project. Also export `GCR_DOMAIN` as the domain name
|
variable `PROJECT_ID` as the name of your project. Also export `GCR_DOMAIN`
|
||||||
of your GCR repo. This will be either `gcr.io` or a region-specific variant
|
as the domain name of your GCR repo. This will be either `gcr.io` or a
|
||||||
like `us.gcr.io`.
|
region-specific variant like `us.gcr.io`.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
export PROJECT_ID=elafros-demo-project
|
export PROJECT_ID=elafros-demo-project
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
# Setting Up A Docker Registry
|
||||||
|
|
||||||
|
This document explains how to use different Docker registries with Elafros. It
|
||||||
|
assumes you have gone through the steps listed in
|
||||||
|
[DEVELOPMENT.md](/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)](https://cloud.google.com/container-registry/), but you should be able to
|
||||||
|
use any Docker registry.
|
||||||
|
|
||||||
|
## Google Container Registry (GCR)
|
||||||
|
|
||||||
|
### Required Tools
|
||||||
|
|
||||||
|
Install the following tools:
|
||||||
|
|
||||||
|
1. [`gcloud`](https://cloud.google.com/sdk/downloads)
|
||||||
|
1. [`docker-credential-gcr`](https://github.com/GoogleCloudPlatform/docker-credential-gcr)
|
||||||
|
|
||||||
|
If you installed `gcloud` using the archive or installer, you can install
|
||||||
|
`docker-credential-gcr` like this:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
gcloud components install docker-credential-gcr
|
||||||
|
```
|
||||||
|
|
||||||
|
If you installed `gcloud` using a package manager, you may need to install
|
||||||
|
it with `go get`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
go get github.com/GoogleCloudPlatform/docker-credential-gcr
|
||||||
|
```
|
||||||
|
|
||||||
|
If you used `go get` to install and `$GOPATH/bin` isn't already in `PATH`,
|
||||||
|
add it:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export PATH=$PATH:$GOPATH/bin
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup
|
||||||
|
|
||||||
|
1. If you haven't already set up a GCP project, create one and export its name
|
||||||
|
for use in later commands.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export PROJECT_ID=my-project-name
|
||||||
|
gcloud projects create "${PROJECT_ID}"
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Enable the GCR API.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
gcloud --project="${PROJECT_ID}" service-management enable \
|
||||||
|
containerregistry.googleapis.com
|
||||||
|
```
|
||||||
|
|
||||||
|
1. 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.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker-credential-gcr configure-docker
|
||||||
|
```
|
||||||
|
|
||||||
|
1. If you need to, update your `DOCKER_REPO_OVERRIDE` in your `.bashrc`. It
|
||||||
|
should now be
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export DOCKER_REPO_OVERRIDE='us.gcr.io/<your-project-id>'
|
||||||
|
```
|
||||||
|
|
||||||
|
(You may need to use a different region than `us` if you didn`t pick a`us`
|
||||||
|
Google Cloud region.)
|
||||||
|
|
||||||
|
1. You may need to run `bazel clean` after updating your `DOCKER_REPO_OVERRIDE`
|
||||||
|
environment variable for `bazel` to pick up the change.
|
||||||
|
|
||||||
|
That's it, you're done!
|
||||||
Loading…
Reference in New Issue