Guía de inicio rápido para Docker

En esta página, se explica cómo usar Cloud Build para compilar una imagen de Docker y enviarla a Container Registry. Primero, compilarás la imagen con un Dockerfile y, luego, compilarás la misma imagen con el archivo de configuración para compilaciones de Cloud Build.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the GCP Console, go to the Manage resources page and select or create a project.

    Go to the Manage resources page

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Cloud Build API necesarias.

    Habilita las API

  5. Install and initialize the Cloud SDK.

Accede a Google Cloud

  1. Autoriza a la herramienta de línea de comandos de gcloud para que acceda a tu proyecto.

    gcloud auth login
    
  2. Configura tu proyecto para la herramienta de gcloud, en la que [PROJECT_ID] es tu ID del proyecto de GCP que creaste o seleccionaste en la sección anterior.

    gcloud config set project [PROJECT_ID]
    

Prepara archivos de origen

Necesitarás algún código fuente de muestra para compilar. En esta sección, crearás un ejemplo simple de Hello World y un Dockerfile.

  1. Crea un archivo llamado quickstart.sh con los contenidos siguientes:

    #!/bin/sh
    echo "Hello, world! The time is $(date)."
    
  2. Crea un archivo llamado Dockerfile con los contenidos siguientes:

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
    
  3. Abre una ventana de terminal (si no está abierta).

  4. Ejecuta el comando siguiente para hacer que quickstart.sh se vuelva ejecutable:

    chmod +x quickstart.sh
    

Compila con Dockerfile

Cloud Build te permite compilar una imagen de Docker mediante un Dockerfile. No necesitas un archivo de configuración de compilación diferente.

Ejecuta el comando siguiente desde el directorio que contiene quickstart.sh y Dockerfile, en el que [PROJECT_ID] es tu ID del proyecto de GCP:

    gcloud builds submit --tag gcr.io/[PROJECT_ID]/quickstart-image .

Una vez completada la compilación, verás un resultado similar al siguiente:

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  9S    gs://[PROJECT_ID]_cloudbuild/source/1508159187.8-b0d8841d51674a30aebd1e55bb99486f.gz  gcr.io/[PROJECT_ID]/quickstart-image (+1 more)       SUCCESS

Acabas de compilar una imagen de Docker llamada quickstart-image mediante un Dockerfile y la enviaste a Container Registry.

Compila con un archivo de configuración de compilación

En esta sección, utilizarás un archivo de configuración de compilación para compilar la misma imagen de Docker que la anterior. La configuración de compilación indica a Cloud Build que realice tareas según tus especificaciones.

  1. En el mismo directorio que contiene quickstart.sh y el Dockerfile, crea un archivo llamado cloudbuild.yaml con los contenidos siguientes. Este archivo es tu archivo de configuración de compilación. A la hora de la compilación, Cloud Build reemplaza $PROJECT_ID con tu ID del proyecto de manera automática.

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/quickstart-image', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/quickstart-image'
    
  2. Comienza la compilación con la ejecución del comando siguiente:

    gcloud builds submit --config cloudbuild.yaml .
    

Cuando se complete la compilación, verás un resultado similar al siguiente:

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  8S    gs://[PROJECT_ID]_cloudbuild/source/1508158566.55-725755714baa4b7e9e99984c422ec4e2.gz  gcr.io/[PROJECT-ID]/quickstart-image (+1 more)       SUCCESS

Acabas de crear una quickstart-image con el archivo de configuración de compilación y la enviaste a Container Registry.

Observa los detalles de compilación

  1. Abre la página Cloud Build en Google Cloud Platform Console.

    Abrir la página Cloud Build

  2. Selecciona tu proyecto y haz clic en Abrir.

    Verás la página Build history (Historial de compilación):

    Captura de pantalla de la página build history

  3. Haz clic en una compilación en particular.

    Verás la página Build Details (Compilar detalles):

  4. Haz clic en la imagen.

    Captura de pantalla del vínculo imagen

    Verás los detalles de la imagen en la página de Container Registry.

Opcional: ejecuta la imagen de Docker

Para verificar que la imagen que compilaste funciona como lo esperado, puedes ejecutarla mediante Docker.

  1. Instala Docker.

  2. Configura Docker para que use tus credenciales de Container Registry cuando interactúe con este (solo es necesario que lo hagas una vez):

    gcloud auth configure-docker
    

    Verás un mensaje similar al siguiente:

    The following settings will be added to your Docker config file
    located at [/.docker/config.json]:
    
    {
      "credHelpers": {
        "gcr.io": "gcloud",
        "us.gcr.io": "gcloud",
        "eu.gcr.io": "gcloud",
        "asia.gcr.io": "gcloud",
        "staging-k8s.gcr.io": "gcloud",
        "marketplace.gcr.io": "gcloud"
      }
    }
    
    Do you want to continue (Y/n)?
    
  3. Escribe y y presiona la tecla intro.

  4. Ejecuta la imagen de Docker que creaste antes, en la que [PROJECT_ID] es tu ID del proyecto de GCP:

    docker run gcr.io/[PROJECT_ID]/quickstart-image
    

    Verás un resultado similar al siguiente:

    Hello, world! The time is Fri Feb  2 16:09:54 UTC 2018.
    

Limpieza

Para evitar que se apliquen cargos a tu cuenta de GCP por los recursos que se usan en esta guía de inicio rápido, realiza los siguientes pasos:

  1. Abre la página de Container Registry en Google Cloud Platform Console.

    Abrir la página de Container Registry

  2. Selecciona tu proyecto y haz clic en Abrir.

  3. Haz clic en quickstart-image.

  4. Selecciona todas las imágenes y haz clic en Borrar.

Con estos pasos, borraste las imágenes que creaste como parte de esta guía de inicio rápido.

¡Eso es todo, completaste esta guía de inicio rápido!

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...