在docker container中为gsutil认证gcloud

1.写在前面的话

  • 本篇博客适用的对象是在docker container中运行gsutil cp xxxxx时报401错误的
  • 为什么会报401?因为gsutil在登录到xxxx网站时,没有被gcloud授权,当然没有办法继续下载了
  • 那怎么授权呢?参考官方讲解
  • 在看了很多遍官方讲解后,我终于豁然开朗了

2.在docker container下运行出现401错误

  • 会出现401错误的情况:
    • 本地不是在gcp上创建的虚拟机
  • 首先,要想使用gsutil从gcp中拉文件,就必须在gcp上创建项目,否者永远不能实现这个功能
  • 建立项目后,就会有项目的id,秘钥等非常重要的信息
  • 想要在任何一台机器上进行gsutil就必须在本地创建一个.boto文件,并编写该文件,当然了你可以运行gsutil config -a来自动生成这个文件(参考文献),需要上一步的项目的id和秘钥,有了.boto文件后,还要配置BOTO_PATH来定位.boto文件,具体操作可以参见官方讲解
  • 但是,以上的操作只使用于非docker环境下哦,如果是doker container中,我们不能每次run一个image还要去手动输入项目的id和秘钥这些信息吧,所以需要一个json文件来存储gcp中的项目授权信息,下载这个json文件的方法参见官方讲解
    • 有了这个json文件后,直接执行gcloud auth activate-service-account --key-file=xxxxxx.json 就可以了使用gsutil
    • 提示一下,如果下载的文件比较大可以使用多进程命令gsutil cp -m

5.写在最后的话

且行且珍惜
有语义分割爱好者,可以联系haiyangpengai@gmail.com或者qq1355365561

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值