Chcę zamontować s3fs wewnątrz kontenera w doku.Czy s3fs nie jest w stanie zamontować wewnątrz kontenera w doku?
zrobiłem Döcker obraz z s3fs i zrobił tak:
host$ docker run -it --rm docker/s3fs bash
[ [email protected]:~ ]$ s3fs s3bucket /mnt/s3bucket -o allow_other -o allow_other,default_acl=public-read -ouse_cache=/tmp
fuse: failed to open /dev/fuse: Operation not permitted
Pokazuje "Operation not permitted" błąd.
Więc google, a nie jak to jeszcze raz (dodawanie --privileged = true):
host$ docker run -it --rm --privileged=true docker/s3fs bash
[ [email protected]:~ ]$ s3fs s3bucket /mnt/s3bucket -o allow_other -o allow_other,default_acl=public-read -ouse_cache=/tmp
[ [email protected]:~ ]$ ls /mnt/s3bucket
ls: cannot access /mnt/s3bucket: Transport endpoint is not connected
[ [email protected]:~ ]$ fusermount -u /mnt/s3bucket
[ [email protected]:~ ]$ s3fs s3bucket /mnt/s3bucket -o allow_other -o allow_other,default_acl=public-read -ouse_cache=/tmp
[ [email protected]:~ ]$ ls /mnt/s3bucket
ls: cannot access /mnt/s3bucket: Transport endpoint is not connected
Następnie montażu nie pokazuje błędów, ale jeśli uruchomić komendę ls „punktem końcowym transportu nie jest podłączony” błąd występuje.
Jak mogę zainstalować s3fs wewnątrz kontenera w doku? Czy to niemożliwe?
[aktualizacji]
Dodaj konfigurację Dockerfile.
Dockerfile:
FROM dockerfile/ubuntu
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y libfuse-dev
RUN apt-get install -y fuse
RUN apt-get install -y libcurl4-openssl-dev
RUN apt-get install -y libxml2-dev
RUN apt-get install -y mime-support
RUN \
cd /usr/src && \
wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz && \
tar xvzf s3fs-1.74.tar.gz && \
cd s3fs-1.74/ && \
./configure --prefix=/usr && \
make && make install
ADD passwd/passwd-s3fs /etc/passwd-s3fs
ADD rules.d/99-fuse.rules /etc/udev/rules.d/99-fuse.rules
RUN chmod 640 /etc/passwd-s3fs
RUN mkdir /mnt/s3bucket
rules.d/99-fuse.rules:
KERNEL==fuse, MODE=0777
Dziękujemy! Testuję twoją procedurę, działa jak urok. Ale, jak mówisz, nie można go zamontować z innego pojemnika ... Czy istnieje sposób użycia go z innego pojemnika? – kochizufan
'' uprzywilejowany' jest tym, co robi, niestety działa tylko podczas fazy uruchamiania, a nie fazy budowy. – buley