GCloud 中 Docker 中的 GCSFuse 安装失败

Posted

技术标签:

【中文标题】GCloud 中 Docker 中的 GCSFuse 安装失败【英文标题】:GCSFuse installation in Docker in GCloud failing 【发布时间】:2021-10-04 16:35:29 【问题描述】:

我正在运行一个直到昨天才有效的命令,并且在我的本地 Docker 上本地工作,以安装 gcsfuse 版本 0.28.1: E: 未找到“gcsfuse”的“0.28.1”版本

我也在谷歌云控制台上试过了,也出现了同样的错误。

有什么建议或指点吗?

这是原始命令: 导出 GCSFUSE_REPO=gcsfuse-lsb_release -c -s && echo "deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main" |三通 /etc/apt/sources.list.d/gcsfuse.list && 卷曲https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key 添加 - && apt-get 更新 && apt-get install -y gcsfuse=0.28.1 \

【问题讨论】:

您能否在原始帖子中添加您运行的完整命令? 好的,我加了。 【参考方案1】:

我不确定这是否是您的格式,但看起来您的命令中缺少发布变量。请尝试以下命令:

export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s` && \
echo "deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main" | tee /etc/apt/sources.list.d/gcsfuse.list && \
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
apt-get update -y && \
apt-get install -y gcsfuse=0.28.1 -V

如果它不起作用,这里是所有 gcsfuse 版本的 repo:

https://github.com/GoogleCloudPlatform/gcsfuse/releases/tag/v0.28.1

【讨论】:

【参考方案2】:

我按照document reference 在 Google Cloud Shell 上尝试了以下命令,我能够成功安装 GCSFuse。

Add the gcsfuse distribution URL as a package source and import its public key using :

export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
echo "deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

Update the list of packages available and install gcsfuse using :
sudo apt-get update
sudo apt-get install gcsfuse

(Ubuntu before wily only) Add yourself to the fuse group, then log out and back in using :
sudo usermod -a -G fuse $USER
exit

我还在这个文档中找到了一行,上面写着“以下说明设置了 apt-get 以查看 gcsfuse 的更新,并且 支持仿生、巧妙、热情、yakkety、xenial 和可信赖的版本Ubuntu,以及 Debian 的 jessie 和 stretch 版本。 (运行 lsb_release -c 以查找您的发行代号。)旧版本的用户应遵循以下其他发行版的说明。

因此,您还应该先尝试找到发布代号。如果您是旧版本的用户,那么这些命令可能不适合您。为此,请遵循安装旧发行版的说明/命令,这在document link中明确区分和指定

【讨论】:

我需要一个旧版本。我只是不确定为什么 apt-install 在工作了几个月后就坏了。 请指定您要安装的操作系统和 GCSFuse 版本。您是否尝试过我在答案中提供的document link 中旧版本的命令? 版本 '0.28.1' 和操作系统是 debian/ 按照github.com/GoogleCloudPlatform/gcsfuse/blob/master/docs/… 的步骤操作。另请参阅旧版本的 Debian 中提到的错误报告,导致 /dev/fuse 反复丢失其权限设置。如果您发现在挂载时收到权限错误,即使在运行上面的 usermod 指令并注销并重新登录后,您也可能需要修复权限:sudo chmod g+rw /dev/fuse, sudo chgrp fuse /dev/fuse

以上是关于GCloud 中 Docker 中的 GCSFuse 安装失败的主要内容,如果未能解决你的问题,请参考以下文章

如何让 gsutil 在 docker 容器中使用 gcloud 凭据

不使用 gcloud 实用程序从 docker 容器访问 GCP 云存储桶

cloudbuild.yaml 中构建步骤中的 gcloud beta 命令。我应该使用入口点还是参数?

gcloud auth configure-docker 失败(config.json 无法读取为 JSON)

无法获取 gcr.io/automl-vision-ondevice/gcloud-container-1.14.0:latest 的 docker 镜像

gcloud docker-compose deploy 主容器(子项目的解决方案)