如何在启动时将Bucket附加到Google Compute Engine VM?

时间:2019-04-20 12:58:19

标签: virtual-machine google-compute-engine bucket

我想在启动时使用Container Optimized OS将存储桶中的内容复制到VM。当服务器关闭时,我想将更改保存回存储桶中。

我尝试制作启动脚本

#!/bin/bash
toolbox
gsutil cp -r gs://my-bucket/

但是,即使我手动运行该脚本,它也会导致VM在启动时失败。

2 个答案:

答案 0 :(得分:1)

我认为我找到了一个合理的解决方案。我的脚本已更改为

#! /bin/bash
toolbox --bind=/home/username/bucket-folder:/my-bucket <<< "gsutil cp -r /my-bucket/* gs://my-bucket"

那么发生的是我们需要调用toolbox --bind将服务器上的文件夹绑定到Toolbox容器。然后,我们使用<<<在启动时将整个命令传递给容器,以便我们将其复制到新绑定的目录,以便将其返回到服务器。

现在,当我将目录绑定到Docker容器中时,一切都已存在!

答案 1 :(得分:0)

我刚刚尝试过:

#! /bin/bash
gsutil cp -r gs://my-bucket /

对我有用。您先前执行的toolbox命令是什么?

无论如何,您都可以在Serial Port Output中查看失败的原因。

编辑:在Container Optimized OS中,此操作不起作用,因为此操作系统没有gsutil软件包preinstalled。请参阅@DanBaba answer