मैं डॉकर कंटेनर के अंदर s3fs को माउंट करना चाहता हूं।क्या s3fs डॉकर कंटेनर के अंदर माउंट करने में सक्षम नहीं है?
मैं s3fs साथ डोकर छवि बना है, और इस तरह से किया था:
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
दिखा "कार्रवाई की अनुमति नहीं है" त्रुटि।
तो मैं googled, और इस तरह से किया था (जोड़ने --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
फिर, बढ़ते त्रुटि नहीं दिखाता है, लेकिन अगर ls कमांड चलाएँ, त्रुटि "परिवहन endpoint जुड़ा हुआ नहीं है" हुआ
मैं डॉकर कंटेनर के अंदर s3fs कैसे माउंट कर सकता हूं? क्या यह असंभव है?
[अपडेट]
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
धन्यवाद! मैं आपकी प्रक्रिया का परीक्षण करता हूं, यह आकर्षण की तरह काम करता है। लेकिन जैसा कि आप कहते हैं, यह अन्य कंटेनर से माउंट नहीं कर सकता ... क्या अन्य कंटेनर से इसका उपयोग करने का कोई तरीका है? – kochizufan
'- वंचित 'यह क्या है, दुर्भाग्यवश यह केवल रन चरण के दौरान काम करता है, न कि निर्माण चरण। – buley