Uso de Docker y Kubernetes

Se proporciona una imagen de Docker para que evalúes estas funciones. Puedes descargar esta imagen como parte de AIStreamer.

Tenga en cuenta que el uso de software de terceros queda a tu discreción. Google no posee los derechos de autor de software de terceros.

Requisitos previos

Compila imagen de Docker

Ve al directorio de transferencia y ejecuta la siguiente línea de comandos en tu máquina host:

$ export DOCKER_IMAGE=gcr.io/gcp-project-name/docker-image-name:version
$ docker build -t $DOCKER_IMAGE -f env/Dockerfile .

Prueba la imagen de Docker en tu host local

Ejecuta el comando siguiente en la terminal de tu máquina host:

$ docker run -it $DOCKER_IMAGE /bin/bash

El comando mostrará una respuesta similar a la del siguiente ejemplo.

root@e504724e76fc:/#

Para abrir otra terminal que se conecte a Docker, ejecuta el siguiente comando en la máquina host:

$ docker exec -it e504724e76fc /bin/bash

Ahora, tiene dos terminales de host que están en el mismo contenedor de Docker.

Configuración del entorno de imagen de Docker

Algunos parámetros de configuración del entorno se pueden personalizar en la imagen de Docker.

#set up environment for Google Video Intelligence Streaming API
ENV SRC_DIR /googlesrc  #Source code directory
ENV BIN_DIR /google     #Binary directory

Envía la imagen de Docker al registro de contenedores de GCP

Ejecuta el siguiente comando en la terminal de tu máquina host:

$ gcloud docker --verbosity debug -- push $DOCKER_IMAGE

Es posible que debas configurar el control de acceso.

Implementa en GCP

Ejecuta los siguientes comandos en la terminal de tu máquina host:

$ export KUBE_ID=any_string_you_like
$ kubectl run -it $KUBE_ID --image=$DOCKER_IMAGE -- /bin/bash

Esto muestra una respuesta similar a la siguiente:

root@$KUBE_ID-215855480-c4sqp:/#

Para abrir otra terminal que se conecte al mismo contenedor de Kubernetes en GCP, ejecuta la siguiente línea de comandos en la máquina host:

$ kubectl exec -it $KUBE_ID-215855480-c4sqp -- /bin/bash

Ahora, tiene dos terminales de host en el mismo contenedor de Kubernetes en Google Cloud.