¿Cómo puedo ejecutar Docker en Google Compute Engine?


¿Cuál es el procedimiento para instalar y ejecutar Docker en Google Compute Engine?

Author: proppy, 2013-12-06

10 answers

Hasta el reciente lanzamiento de Compute Engine, ejecutar Docker no era soportado en GCE (debido a restricciones del kernel) pero con la recientemente anunciada capacidad de implementar y usar kernels personalizados, esa restricción ya no está intacta y Docker ahora funciona muy bien en GCE.

Gracias a proppy , las instrucciones para ejecutar Docker en Google Compute Engine ahora están documentadas aquí: http://docs.docker.io/en/master/installation/google / . ¡Disfruta!

 18
Author: Marc Cohen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-06 16:51:12

Ahora tienen una máquina virtual que tiene docker preinstalado.

$ gcloud compute instances create instance-name
--image projects/google-containers/global/images/container-vm-v20140522
--zone us-central1-a
--machine-type f1-micro

Https://developers.google.com/compute/docs/containers/container_vms

 13
Author: lee penkman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-11 04:15:20

El sitio GitHub de Google ofrece ahora una imagen gce que incluye docker. https://github.com/GoogleCloudPlatform/cloud-sdk-docker-image

 4
Author: garamirez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-03 03:54:13

Es tan fácil como:

  • creando una instancia de Compute Engine
  • curl https://get.docker.io | bash
 4
Author: David Gageot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-31 15:39:15

Un poco tarde, pero quería agregar una respuesta con un flujo de trabajo más detallado y enlaces, ya que las respuestas todavía están bastante dispersas:

  1. Crear una imagen de Docker

    A. Localmente

    B. Uso de Google Container Builder

  2. Empuje la imagen de Docker local al Repositorio de contenedores de Google

    docker tag <current name>:<current tag> gcr.io/<project name>/<new name>

    gcloud docker -- push gcr.io/<project name>/<new name>

    ACTUALIZACIÓN

    Si ha actualizado a las versiones de Docker client superiores a 18.03, gcloud los comandos de docker ya no son compatibles. En lugar del empuje anterior, use:

    docker push gcr.io/<project name>/<new name>

    Si tiene problemas después de actualizar, vea más aquí.

  3. Cree una instancia de cómputo. Este proceso en realidad ofusca una serie de pasos. Crea una instancia de máquina virtual (VM) mediante Google Compute Engine, que utiliza una imagen de SO optimizada para contenedores proporcionada por Google. La imagen incluye Docker y software adicional responsable de iniciar nuestro docker contenedor. Nuestra imagen de contenedor se extrae del repositorio de contenedores y se ejecuta mediante docker run cuando se inicia la VM. Nota: aún necesita usar docker attach aunque el contenedor esté en ejecución. Vale la pena señalar que solo se puede ejecutar un contenedor por instancia de VM. Utilice Kubernetes para implementar varios contenedores por VM (los pasos son similares). Encuentra más detalles sobre todas las opciones en los enlaces en la parte inferior de este post.

    gcloud beta compute instances create-with-container <desired instance name> \ --zone <google zone> \ --container-stdin \ --container-tty \ --container-image <google repository path>:<tag> \ --container-command <command (in quotes)> \ --service-account <e-mail>

    Sugerencia Puede ver los proyectos de gcloud disponibles por gcloud projects list

  4. SSH en la instancia de cómputo.

    gcloud beta compute ssh <instance name> \ --zone <zone>

  5. Detener o Eliminar la instancia. Si se detiene una instancia, aún se le facturarán recursos como IP estáticas y discos persistentes. Para evitar que se le cobre, use eliminar la instancia.

    A. Stop

    gcloud compute instances stop <instance name>

    B. Suprimir

    gcloud compute instances delete <instance name>

Enlaces relacionados:

 3
Author: ZaxR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-11 21:16:00

Ahora hay soporte mejorado para contenedores en GCE :

Google Compute Engine está ampliando su soporte para contenedores Docker. Esta versión es una Vista previa abierta de una imagen de SO optimizada para contenedores que incluye Docker y un agente de código abierto para administrar contenedores. A continuación, encontrará enlaces para interactuar con la comunidad interesada en Docker en Google, repositorios de código abierto y ejemplos para comenzar. Esperamos escuchar sus comentarios y ver lo que construyes.

Tenga en cuenta que esto está actualmente (a partir del 27 de mayo de 2014) en Open Preview :

Esta es una versión de Open Preview de contenedores en Máquinas virtuales. Como resultado, podemos hacer cambios incompatibles con versiones anteriores y no está cubierto por ningún SLA o política de obsolescencia. Los clientes deben tener esto en cuenta al usar esta versión de vista previa abierta.

 1
Author: Misha Brukman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-27 18:45:27

El uso de docker-machine es otra forma de alojar su instancia de Google compute con docker.

docker-machine create \
  --driver google \
  --google-project $PROJECT \
  --google-zone asia-east1-c \
  --google-machine-type f1-micro $YOUR_INSTANCE

Si desea iniciar sesión en esta máquina en Google cloud compute instance, simplemente use docker-machine ssh $YOUR_INSTANCE

Refiérase a controlador de máquina acoplable gce

 1
Author: Evan Lin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-11 18:39:08

No se admite la ejecución de Docker en una instancia de GCE. La instancia se cae y no es capaz de iniciar sesión de nuevo. Podemos usar la imagen de Docker dada por el GCE, para crear una instancia. introduzca la descripción de la imagen aquí

 1
Author: Balaji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-23 11:08:02

Si su máquina virtual de Google Cloud se basa en ubuntu, use el siguiente comando para instalar docker sudo apt install docker.io

 0
Author: ramnar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-07 07:16:50

Es mejor obtenerlo mientras se crea la instancia de cómputo

  1. Vaya a la página Instancias de VM.
  2. Haga clic en el botón Crear instancia para crear una nueva instancia.
  3. En la sección Contenedor, compruebe Implementar imagen de contenedor.
  4. Especifique un nombre de imagen de contenedor en Imagen de contenedor y configure las opciones para ejecutar el contenedor si lo desea. Por ejemplo, puede especificar gcr.io/cloud-marketplace/google/nginx1:1.12 para la imagen del contenedor.
  5. Haga clic en Crear.
 -2
Author: Arun Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-25 18:06:55