Я пытаюсь соединить dir
в образе Docker, используя gcsfuse
.Я использую растягиваемый образ 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-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,
Спасибо!