Docker 컨테이너에서 퓨즈(sshfs)와 같은 커널이 제공하는 일부 기능을 사용하고 싶습니다. 특권 모드를 사용하여 Docker 컨테이너에 모듈을 쉽게 로드할 수 있습니다. 하지만 컨테이너가 시작될 때 이 모듈을 로드하고 다른 모듈은 로드하지 못하게 하려면 가능합니까?
답변1
문제가 실제로 모듈을 로드하는 데 있다고 확신합니까? 내가 이렇게 하면:
% docker run -it ssh-test bash
root@090961bb6f3a:/project# sshfs xxxx@xxxx:/xxxx/xxxx /mnt
알겠어요
fuse: device not found, try 'modprobe fuse' first
그 이유는 Docker 컨테이너의 기능이 제한되어 있기 때문입니다. 이 문제에 대한 해결책은 컨테이너를 실행하는 것입니다.
% docker run -it --cap-add SYS_ADMIN --device /dev/fuse ssh-test bash
이를 통해 sshfs를 사용하여 볼륨을 마운트할 수 있습니다.