Crear un contenedor derivado

En esta página, se describe cómo crear un contenedor derivado basado en una de las imágenes estándar de contenedores de aprendizaje profundo disponibles.

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

Antes de comenzar

Antes de comenzar, asegúrate de haber completado los siguientes pasos.

  1. Completa los pasos de configuración en la sección Antes de comenzar de Comienza a usar un contenedor de aprendizaje profundo local.

  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

    Aprende a habilitar la facturación

  3. Habilita la API de Artifact Registry.

    Habilitar la API

El proceso

Para crear un contenedor derivado, debes usar un proceso similar al siguiente:

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

    Para comenzar, crea un contenedor de contenedores de aprendizaje profundo mediante uno de los tipos de imágenes disponibles. Luego, usa los comandos conda, pip o Jupyter para modificar la imagen del contenedor según tus necesidades.

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

    Compila la imagen del contenedor y, luego, envíala a algún lugar accesible para tu cuenta de servicio de Compute Engine.

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

Usa los siguientes comandos para seleccionar un tipo de imagen de contenedores de aprendizaje profundo y hacer un pequeño cambio en la imagen del contenedor. En este ejemplo, se muestra cómo comenzar con una imagen de TensorFlow y actualizarla con la versión más reciente de TensorFlow. Escribe los siguientes comandos en el 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

Compila y envía la imagen del contenedor

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

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

Reemplaza lo siguiente:

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

Luego, compila 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