컨테이너에 추가 장치 를 할당 할 수 있으며 이러한 장치는 호스트 액세스 가능 폴더 일 수 있습니다.
$ lxc config ## display help
...
lxc config device add [<remote>:]<container> <device> <type> [key=value...]
Add a device to a container.
...
참고 <device>
다음 장치 관리를위한 ID로 사용됩니다 당신이 할당하는 것이 단지 임의의 이름입니다.
예를 들어, 컨테이너에 호스트 폴더 "./host"를 "/ mnt / host"로 마운트하려면 ...
lxc config device add mycontainer vartest disk source=$(pwd)/host path=/mnt/host
한 가지 문제가 남아있다 -이 폴더는 호스트와 용기 모두 쓰기 권한을하려는 경우, 소유권과 권한이 적절하게 구성해야합니다. 이는 사용자 및 그룹 id
값 의 숫자 범위를 가상화하는 LXD의 기본 모드로 인해 복잡 합니다. 그러나 쉬운 해결책 이 있습니다. 호스트와 동등한 권한으로 실행되도록 컨테이너를 구성 하여이 가상화를 우회하십시오 ...
lxc config set <container> security.privileged true
이 접근 방식의 전체 호스트 보안 영향은 현재 명확하지 않지만 가상화에 의해 다소 "포함 된"것 같습니다. 실제 위험은 컨테이너를 어떻게 어떻게 사용할 지에 달려 있습니다. 기술 노트 참조https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers 참조
또한이 접근 방식은 일반적으로 컨테이너에서 루트가 아닌 사용자로 컨테이너에서 작업하는 경우 가장 효과적입니다.
lxc exec zesty -- su --login ubuntu
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
. 그러나 컨테이너의 디렉토리를 보면 파일의 소유자 및 그룹이 'nobody'및 'nogroup'으로 설정되어 있으며 마운트는 읽기 전용입니다.