我正在尝试使用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
,但这给了我同样的错误。为了在Ubuntu上成功运行
fuse
,我该如何运行kernel-headers
ok或找到相关的旧版s3fs
包? 最佳答案
如果有人遇到这里描述的相同问题并进入了这篇文章,我可以通过使用--privileged
标志运行docker来解决问题。