Crear un contenedor derivado

En esta página se describe cómo crear un contenedor derivado a partir de una de las imágenes estándar disponibles de Deep Learning Containers.

Para completar los pasos de esta guía, puedes usar Cloud Shell o cualquier entorno en el que esté instalada la CLI de Google Cloud.

Antes de empezar

Antes de empezar, asegúrate de que has completado los siguientes pasos.

  1. Sigue los pasos de configuración que se indican en la sección "Antes de empezar" del artículo Primeros pasos con un contenedor de aprendizaje profundo local.

  2. Comprueba que la facturación esté habilitada en tu Google Cloud proyecto.

    Consulta cómo habilitar la facturación.

  3. Habilitar la API de Artifact Registry.

    Habilitar la API

El proceso

Para crear un contenedor derivado, debes seguir un proceso similar a este:

  1. Crea el Dockerfile inicial y ejecuta los comandos de modificación.

    Para empezar, crea un contenedor de Deep Learning Containers con uno de los tipos de imagen disponibles. A continuación, usa los comandos de conda, pip o Jupyter para modificar la imagen del contenedor según tus necesidades.

  2. Crea y envía la imagen del contenedor.

    Crea la imagen de contenedor y, a continuación, envíala a un lugar al que pueda acceder tu cuenta de servicio de Compute Engine.

Crear el Dockerfile inicial y ejecutar comandos de modificación

Usa los siguientes comandos para seleccionar un tipo de imagen de Deep Learning Containers y hacer un pequeño cambio en la imagen del contenedor. En este ejemplo se muestra cómo empezar con una imagen de TensorFlow y actualizarla con la versión más reciente de TensorFlow. Escribe los siguientes comandos en el archivo Dockerfile:

FROM us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-gpu:latest
# Uninstall the container's TensorFlow version and install the latest version
RUN pip install --upgrade pip && \
    pip uninstall -y tensorflow && \
    pip install tensorflow

Crea y envía la imagen de contenedor

Usa los siguientes comandos para compilar y enviar la imagen de contenedor a Artifact Registry, donde podrá acceder la cuenta de servicio de Google Compute Engine.

Crea y autentica el repositorio:

export PROJECT=$(gcloud config list project --format "value(core.project)")
gcloud artifacts repositories create REPOSITORY_NAME \
    --repository-format=docker \
    --location=LOCATION
gcloud auth configure-docker LOCATION-docker.pkg.dev

Haz los cambios siguientes:

  • LOCATION: la ubicación regional o multirregional del repositorio, por ejemplo, us. Para ver una lista de las ubicaciones admitidas, ejecuta el comando gcloud artifacts locations list.
  • REPOSITORY_NAME: el nombre del repositorio que quieras crear, por ejemplo, my-tf-repo.

A continuación, crea y envía la imagen:

export IMAGE_NAME="LOCATION-docker.pkg.dev/${PROJECT}/REPOSITORY_NAME/tf-custom:v1"
docker build . -t $IMAGE_NAME
docker push $IMAGE_NAME