我正在尝试使用dir将一个gcsfuse融合到Docker映像中。我使用的是Debian拉伸映像,在使用fuse包时遇到了问题。
我尝试通过fuse安装apt-get,以及通过git从源代码构建。两者都有各自的问题。
1:,在apt-get之后,我收到成功安装fuse的指示。
root@a7d6f712fab9:/queue# apt-get install fuse
Reading package lists... Done
Building dependency tree
Reading state information... Done
fuse is already the newest version (2.9.7-1+deb9u2).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
root@a7d6f712fab9:/queue# apt-get install libfuse-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libfuse-dev is already the newest version (2.9.7-1+deb9u2)但是,当运行modprobe fuse时(在gcsfuse挂载尝试期间失败的是什么):
root@a7d6f712fab9:/queue# modprobe fuse
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.125-linuxkit/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.9.125-linuxkit2:在从源代码中使用tar.gz时,meson只能作为版本0.37使用,而libfuse需要介子> 0.38才能正确构建(从早期版本)。
这是我的Dockerfile:
FROM python:3.6-slim
RUN apt-get update \
&& apt-get install -y libfuse-dev \
curl \
gnupg \
apt-utils \
lsb-release \
kmod
RUN 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 -
RUN apt-get update \
&& apt-get install -y gcsfuse
COPY . /queue
WORKDIR /queue我希望modprobe fuse能够实际工作,或者理解如何构建fuse/modprobe,在这种方式下,包可以通过mod探头识别。
谢谢!
发布于 2018-12-31 19:21:13
Docker容器使用主机内核。因此,如果内核模块需要加载,则必须在主机上加载,而不是在Docker中加载。
https://stackoverflow.com/questions/53939050
复制相似问题