我想在启动时使用Container Optimized OS将存储桶中的内容复制到VM。当服务器关闭时,我想将更改保存回存储桶中。
我尝试制作启动脚本
#!/bin/bash
toolbox
gsutil cp -r gs://my-bucket/
但是,即使我手动运行该脚本,它也会导致VM在启动时失败。
答案 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。