gcloud docker不在Compute Engine VM上工作

时间:2017-02-05 16:51:12

标签: docker google-compute-engine gcloud google-kubernetes-engine

我正在尝试从Container Engine获取Docker镜像以在Compute Engine VM上运行。在我的笔记本电脑上,我可以运行gcloud docker pull gcr.io/projectid/image-tag

我只是在计算引擎上运行Debian VM,但当我尝试运行任何gcloud docker命令时,我得到ERROR: (gcloud.docker) Docker is not installed.

> gcloud --version
Google Cloud SDK 140.0.0
alpha 2017.01.17
beta 2017.01.17
bq 2.0.24
bq-nix 2.0.24
core 2017.01.17
core-nix 2017.01.17
gcloud 
gsutil 4.22
gsutil-nix 4.22

> gcloud docker --version
ERROR: (gcloud.docker) Docker is not installed.

https://cloud.google.com/sdk/gcloud/reference/docker使gcloud docker看起来应该有用。

我是否应该在运行gcloud docker之前在VM上安装docker?

2 个答案:

答案 0 :(得分:3)

  

我应该在运行gcloud docker之前在VM上安装docker吗?

是。错误消息告诉您需要在计算机上安装Docker才能使<?php $paymentday = null; switch ($paymentday){ case date('M') == "Jan" or date('M') == "Feb" or date('M') == "Mar" or date('M') == "Apr" or date('M') == "May" or date('M') == "Jul" or date('M') == "Aug" or date('M') == "Okt" or date('M') == "Nov": $paymentday = "24"; break; case date('M') == "Jun": $paymentday = "23"; break; case date('M') == "Sep": $paymentday = "22"; break; case date('M') == "Dec": $paymentday = "21"; break; } echo $paymentday; ?> 正常工作。

您可以在Debian VM上手动安装docker,也可以启动预先安装了Docker的VM,例如Container-Optimized OS from Google

答案 1 :(得分:3)

根据直觉,我尝试使用sudo apt-get install docker安装docker,但我错了,实际的docker包名称是docker.io,所以我重新启动了这个过程并按照这种方式工作:

  1. 安装docker软件包:
  2. sudo apt-get install docker.io

    1. 测试docker是否正常工作
    2. sudo gcloud docker ps

      1. 从图片库中提取图片,例如的 gcr.io 即可。如果没有 特定标签使用最新
      2. sudo gcloud docker -- pull gcr.io/$PROJECT_NAME/$APPLICATION_IMAGE_NAME:latest

        1. 运行您的图片。请记住正确指定端口映射,第一个端口是将在GCE实例中公开的端口,第二个端口是由docker容器在内部公开的端口,例如EXPOSE 8000。例如,在以下示例中,我的应用程序配置为在8000端口工作,但公众将在默认的www端口80上访问它。
        2. sudo docker run -d -p 80:8000 --name=$APPLICATION_IMAGE_NAME \ --restart=always gcr.io/$PROJECT_NAME/$APPLICATION_IMAGE_NAME:latest

          --restart标志将允许每次实例重新启动时重新启动此容器

          我希望它适合你。