我正在尝试从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?
答案 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
,所以我重新启动了这个过程并按照这种方式工作:
sudo apt-get install docker.io
sudo gcloud docker ps
sudo gcloud docker -- pull gcr.io/$PROJECT_NAME/$APPLICATION_IMAGE_NAME:latest
EXPOSE 8000
。例如,在以下示例中,我的应用程序配置为在8000
端口工作,但公众将在默认的www端口80
上访问它。 sudo docker run -d -p 80:8000 --name=$APPLICATION_IMAGE_NAME \
--restart=always gcr.io/$PROJECT_NAME/$APPLICATION_IMAGE_NAME:latest
--restart
标志将允许每次实例重新启动时重新启动此容器
我希望它适合你。