본문 바로가기
Cloud/docker

[docker error] fuse: device not found, try 'modprobe fuse' first

by 근육곰돌이 2022. 1. 6.
728x90

 

Docker에서 sshfs를 이용하여 mount를 하려고 한다.

하지만 docker run을 해보니 아래와 처럼 에러가 발생합니다.

이럴때 어떻게 조치해야하는지 한번 살펴 보도록 합시다.

 

에러

만든 이미지를 아래와 같이 도커 실행 후 마운트를 하려고 하였습니다.

그런데 보아하니,, 권한 느낌의 문제가 발생하였습니다.

- Docker 실행 명령어

# docker run -i -t test

 

- 에러발생: Docker 내부 mount 시 

root@e8e443c6e5aa:/app# sshfs root@x.x.x.x:/mnt /remote -o reconnect,nonempty,allow_other,StrictHostKeyChecking=no,IdentityFile=/id_rsa
--> 에러 발생 !!
fuse: device not found, try 'modprobe fuse' first

 

원인

원인은 아마.. 도커의 마운트 권한이 없어서 에러가 발생하는거 같습니다.

sshfs fuse를 이용하다보니, /dev/fuse 권한도 필요할거고, 시스템 접근권한도 필요해보입니다.

구글링해서 찾아보니 아래와 같이 도커 실행 시 적용하면 권한이 허용되었습니다.

(필자는 개인적으로 --privileged 모드를 좋아하지않아서 다른방법으로 찾아보았습니다.)

 

조치

도커 run할때 권한 획득을 위한 옵션을 주면 가능합니다.

docker run -d --rm \
           --device /dev/fuse \
           --cap-add SYS_ADMIN \
           --security-opt apparmor:unconfined \
      <image_id/name>

 

- 참고로 "fusermount: mount failed: Operation not permitted" 해당 에러도 같이 해결 됩니다.

 

 

참고 사이트

https://stackoverflow.com/questions/48402218/fuse-inside-docker

 

FUSE inside Docker

I'm trying to install and use FUSE inside a Docker container. My Dockerfile is the following: FROM golang:1.8 WORKDIR /go/src/app COPY . . RUN apt-get update && apt-get install -y fuse &...

stackoverflow.com

 

 

오늘도 삽질을 여러번하고 

승리한다..!

 

다음에 같은 실수를 하지않기 위해 메모하자!

 

반응형