【问题标题】:How to install s3fs in Ubuntu Docker如何在 Ubuntu Docker 中安装 s3fs
【发布时间】:2020-02-23 15:56:33
【问题描述】:

我正在尝试使用 s3fs 设置一个 Docker Ubuntu 映像,该映像具有作为本地文件系统安装的 AWS s3 存储桶。有几个指南,大多像this one,说要安装各种apt 包,设置~/.passwd-s3fs 文件,然后运行s3fs。然而,在最新版本的 Ubuntu 中(我已经尝试过 16.04、18.04 和最新版本),它说我应该安装包 linux-headers-4.9.184-linuxkit——但是这似乎在任何地方都不可用。我被卡住了。

我的本​​地 Mac 上运行良好,但无法在我的 Ubuntu 映像上运行。

$ apt-get update
$ apt-get install -y awscli
$ apt-get install -y automake autotools-dev fuse g++ git libcurl4-gnutls-dev libfuse-dev libssl- dev libxml2-dev make pkg-config kmod
$ apt-get install -y s3fs
$ echo key:secretkey > ~/.passwd-s3fs && chmod 0600 ~/.passwd-s3fs
$ mkdir /s3mountpoint
$ s3fs mybucketname /s3mountpoint
fuse: device not found, try 'modprobe fuse' first
$ modprobe fuse
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.184-linuxkit/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.9.184-linuxkit

我也尝试过克隆和手动编译 https://github.com/s3fs-fuse/s3fs-fuse.git 但这给了我同样的错误。

我怎样才能运行fuse ok,或者找到相关的旧版kernel-headers 包,以便在Ubuntu 上成功运行s3fs

【问题讨论】:

  • 我通过修改整个事情以使用 AWS Elastic Beanstalk 来解决这个问题,以便 awssdk 默认可用,并且 s3 集成开箱即用。显然这不是问题的真正解决方案,但无论如何对于我的用例来说它可能是一个更好的解决方案。

标签: docker ubuntu amazon-s3 fuse s3fs


【解决方案1】:

如果有人遇到这里描述的相同问题并进入这篇文章,我可以通过使用--privileged 标志运行 docker 来解决问题。

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 2016-11-24
    • 1970-01-01
    • 2022-12-09
    • 2019-09-03
    相关资源
    最近更新 更多