sshfs 를 docker container 안에서 사용하기
Post

sshfs 를 docker container 안에서 사용하기

centos 에서 sshfs 를 설치하는 방법은 이곳에 잘 나와있다.

1
2
yum install -y epel-release
yum install -y fuse-sshfs

설치는 위와 같이 단 두 줄 이면 충분하다. 마운트는 아래와 같이 더 간단하다.

1
sshfs root@0.0.0.0:/root /mnt

위 명령은 원격 0.0.0.0에서 구동되고 있는 ssh 서버에 root 계정을 통해 /root 폴더를 내 로컬의 /mnt 폴더에 마운트 시킨다.

docker의 container 에서 sshfs를 사용하게 하려면 어떻게 해야할까?

docker plugin 방식으로 하는 방법은 이곳에 잘 나와 있다. vieux/sshfs 플러그인 설치 후 docker volume 를 이용하는 방식이다.

하지만 호스트에서의 별다른 설정 없이 컨테이너 만으로 sshfs를 이용하고 싶었다. 그러기 위해서는 docker run 을 수행 할 때 --privileged 옵션을 주면 가능한 것으로 확인되었다. –privileged 옵션 없이 앞서 설명한 sshfs 설치까지만 가능하고` ssfs 명령으로 마운트를 시도하면 아래와 같은 오류가 발생한다.

1
2
[root@614f9c83e4ec /]# sshfs root@0.0.0.0:/root /mnt
fuse: device not found, try 'modprobe fuse' first

–privileged 옵션을 포함하여 앞서 설명한 대로 진행하면 마운트에 성공한다. 하지만 이 옵션은 컨테이너가 호스트에 접근하는 권한을 부여하는 것이기 때문에 보안적인 면에서 조심할 필요가 있다.

참조