Build a Docker Image on GCP
Building Docker images from a Jupyter notebook and submitting them to Container Registry
Out of date
This guide contains outdated information pertaining to Kubeflow 1.0. This guide needs to be updated for Kubeflow 1.1.
If you’re using a Jupyter notebook in Kubeflow on Google Cloud Platform (GCP), you can submit Docker image builds to Cloud Build. Cloud Build builds the Docker image and pushes it to Google Container Registry.
Building a Docker image
Run the following command in a Jupyter notebook cell to activate the attached service account:
!gcloud auth activate-service-account --key-file=${GOOGLE_APPLICATION_CREDENTIALS}
Run the gcloud builds submit
command to submit a build. The following example assumes that your Dockerfile is in the current directory:
!gcloud builds submit --tag gcr.io/myproject/myimage:tag .
A bit about authentication
Kubeflow assigns the jupyter-notebook
service account to the Jupyter notebook Pods. The ${GOOGLE_APPLICATION_CREDENTIALS}
environment variable is pre-configured in the notebook. Its value is a path that points to a JSON file containing a Kubernetes secret. The secret contains the credentials needed to authenticate as the notebook service account within the cluster. To see the value of the environment variable, enter the following command in a notebook cell:
!echo ${GOOGLE_APPLICATION_CREDENTIALS}
You should see a response similar to this:
/secrets/gcp-service-account-credentials/user-gcp-sa.json
Next steps
- For more information about using Cloud Build to build Docker images, see the Cloud Build documentation.
- See how to deploy Kubeflow on GCP.
Last modified 03.08.2020: Added outdated banner to non-index docs unchanged in last 30d (#2072) (e56f3650)