在Docker上安装和运行Google Compute Engine的步骤是什么?
答案 0 :(得分:20)
直到最近GA发布的Compute Engine,GCE不支持运行Docker(由于内核限制),但由于新发布的部署和使用自定义内核的能力,这种限制不再完整,Docker现在可以很好地运行GCE。
感谢proppy,现在为您记录了在Google Compute Engine上运行Docker的说明:http://docs.docker.io/en/master/installation/google/。享受!
答案 1 :(得分:14)
他们现在拥有一个预先安装了docker的虚拟机。
$ 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
答案 2 :(得分:6)
有点晚了,但我想用更详细的工作流程和链接添加答案,因为答案仍然相当分散:
创建Docker镜像
一个。本地
湾使用Google容器生成器
将本地Docker镜像推送到Google容器存储库
docker tag <current name>:<current tag> gcr.io/<project name>/<new name>
gcloud docker -- push gcr.io/<project name>/<new name>
<强>更新强>
如果您已升级到18.03以上的Docker客户端版本,则不再支持gcloud docker命令。而不是上面的推动,使用:
docker push gcr.io/<project name>/<new name>
如果升级后遇到问题,请参阅更多here。
创建计算实例。 这个过程实际上混淆了许多步骤。它使用Google Compute Engine创建虚拟机(VM)实例,该实例使用Google提供的容器优化操作系统映像。该图像包括Docker和负责启动我们的docker容器的其他软件。然后从Container Repository中提取我们的容器映像,并在VM启动时使用docker run运行。注意:即使容器正在运行,您仍需要使用docker attach。值得指出的是,每个VM实例只能运行一个容器。使用Kubernetes为每个VM部署多个容器(步骤类似)。有关此帖子底部链接中所有选项的更多详细信息。
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>
提示您可以使用gcloud projects list
SSH进入计算实例。
gcloud beta compute ssh <instance name> \
--zone <zone>
停止或删除实例。如果实例已停止,您仍需要为静态IP和永久磁盘等资源付费。为了避免被收费,请使用删除实例。
一个。的停止强>
gcloud compute instances stop <instance name>
湾删除强>
gcloud compute instances delete <instance name>
相关链接:
答案 3 :(得分:4)
Google的GitHub网站现在提供包含docker的gce图像。 https://github.com/GoogleCloudPlatform/cloud-sdk-docker-image
答案 4 :(得分:4)
这很简单:
curl https://get.docker.io | bash
答案 5 :(得分:3)
使用docker-machine
是使用docker托管Google计算实例的另一种方法。
docker-machine create \
--driver google \
--google-project $PROJECT \
--google-zone asia-east1-c \
--google-machine-type f1-micro $YOUR_INSTANCE
如果您想在google云计算实例上登录此计算机,只需使用docker-machine ssh $YOUR_INSTANCE
答案 6 :(得分:1)
现在改进了对containers on GCE的支持:
Google Compute Engine正在扩展其对Docker容器的支持。此版本是容器优化的操作系统映像的打开预览版,其中包括Docker和管理容器的open source agent。下面,您将找到与在Google上对Docker感兴趣的社区进行交互的链接,开源存储库以及开始使用的示例。我们期待听到您的反馈并了解您的建设。
请注意,这是 Open Preview 目前(截至2014年5月27日):
这是虚拟机上容器的 Open Preview 版本。因此,我们可能会进行向后不兼容的更改,并且不受任何SLA或弃用策略的约束。客户在使用此Open Preview版本时应考虑到这一点。
答案 7 :(得分:1)
答案 8 :(得分:1)
如果您的Google云虚拟机基于ubuntu,请使用以下命令安装docker sudo apt安装docker.io
答案 9 :(得分:1)
您可以使用以下链接:https://cloud.google.com/cloud-build/docs/quickstart-docker#top_of_page。
上述链接说明了如何使用Cloud Build构建Docker映像并将该映像推送到Container Registry。您将首先使用Dockerfile构建映像,然后使用Cloud Build的构建配置文件构建同一映像。
答案 10 :(得分:0)
在创建计算实例
时更好答案 11 :(得分:0)
到目前为止,对于 just Docker,容器优化的OS无疑是必经之路:
gcloud compute images list --project=cos-cloud --no-standard-images
它预装了Docker和Kubernetes。它唯一缺少的是Cloud SDK命令行工具。 (尽管Google于2020年1月1日宣布了Python 2日落,但它也缺少python3。嗯,还有27天的时间。。。)
作为我想分享的其他信息,我正在寻找一个标准映像,该映像将同时提供 docker和gcloud / gsutil(没有,哎呀)。我不认为我一个人在这条船上,因为gcloud
是您在没有GCE¹的情况下无法避免的事情。
到目前为止,我最好的发现是Ubuntu 18.04映像,该映像带有自己的(非Debian)软件包管理器snap。该映像随附了预安装的Cloud SDK,而Docker则是在F1实例初始测试中以11秒的速度立即完成字面上的安装,在n1-standard-1上约为6秒。我遇到的唯一障碍是错误消息,指出泊坞窗授权助手不可用。尝试使用gcloud components install
添加它的尝试失败了,因为该SDK也是作为快照安装的。但是,the helper is actually there(仅不在PATH中)。以下是让我在最少的设置脚本运行时中就在单个瞬态生成器VM中使用这两个工具的原因,这些工具从受支持的Ubuntu 18.04 LTSimage²开始:
snap install docker
ln -s /snap/google-cloud-sdk/current/bin/docker-credential-gcloud /usr/bin
gcloud -q auth configure-docker
¹我需要一个Daisy工作流来对磁盘进行映像,该磁盘具有GS桶中的工件和来自本地gcr.io注册表的两个巨大的2GB +库映像,这些映像在构建(作为云构建器层)和运行时之间共享(我必须在其中创建容器并将其提取到新建的映像中)。但这不是重点。一个人可能出于多种可能需要使用这两种工具。
²使用gcloud compute images list --uri | grep ubuntu-1804
获取最新的。
答案 12 :(得分:0)
在 GCP Compute Engine 虚拟机上安装 Docker:
这是有关该主题的 GCP 文档的链接:
inherited theme
它链接到 https://cloud.google.com/compute/docs/containers#installing,您应该按照说明进行操作,具体取决于您在 vm 中运行的 Linux 类型。