0

我正在尝试dir使用gcsfuse. 我正在使用 Debian 拉伸图像,并且无法使用该fuse软件包。

我试图通过 git repo 安装fuse以及apt-get从源代码构建。两者都有各自的问题。

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-linuxkit

2:使用tar.gzfrom source 时,meson只能作为 version 使用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实际工作,或者想了解如何以通过 modprobe 识别包的方式构建 fuse/modprobe。

谢谢!

4

1 回答 1

0

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

于 2018-12-31T19:21:13.667 回答