在Debian stretch Docker镜像上安装fuse出现问题

3
我正在尝试使用将Docker镜像中的进行融合。我使用的是Debian stretch镜像,但在使用包时遇到了麻烦。
我已经尝试通过安装,并且从git仓库构建了源代码。两者都有其各自的问题。
1. 经过之后,我收到提示说明已成功安装。
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-linuxkit

2:当使用源代码中的tar.gz时,meson仅可用版本为0.37,而libfuse需要meson > 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,使得该软件包可以通过modprobe进行识别。
谢谢!
1个回答

1

Docker容器使用主机内核。因此,如果需要加载内核模块,则必须在主机上加载它,而不是在Docker中。


这里的心态非常正确,不要把它安装在支架上,而是安装在集装箱上。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接