Apparmor를 사용하여 Docker 컨테이너에 마운트된 파일 시스템을 활성화하는 방법

Apparmor를 사용하여 Docker 컨테이너에 마운트된 파일 시스템을 활성화하는 방법

Docker를 실행하는 우분투 20.04 서버가 있습니다. 최근에는 기본 의류 프로필이 도커 컨테이너의 마운트 지점에 대한 제한을 적용하기 시작한 것 같습니다. 따라서 컨테이너는 루트 파일 시스템을 마운트하는 대신 루트 파일 시스템에 직접 씁니다.

Docker 외부에서는 문제 없이 마운트를 탐색할 수 있지만 컨테이너 내부에서 셸을 실행하면 마치 마운트 지점이 마운트되지 않은 것처럼 보입니다.

나는 의류로 인한 문제로 범위를 좁히고 설치를 허용하기 위해 의류를 비활성화했으며 모든 것이 예상대로 작동합니다. 컨테이너가 docker-default 프로필을 사용하고 있는 것 같습니다.

제 질문은 Docker 컨테이너에 전역적으로 또는 단일 컨테이너에 설치를 활성화하는 방법입니다. 이 문제를 해결하기 위해 의류를 완전히 비활성화할 필요는 없나요?

답변1

그래서 내 문제는 실제로 파일 시스템이 마운트되기 전에 Docker가 시작되었다는 것이 밝혀졌습니다. 설치가 완료될 때까지 시작을 지연하도록 docker의 systemd 파일을 변경할 수 있다고 생각합니다. 컨테이너는 마운트 지점에 디렉터리로 바인딩되며 루트 파일 시스템에 직접 씁니다.

그런데 security_opt 옵션을 사용하여 컨테이너에 사용되는 의류 구성 파일을 변경하고 apparmor-parser를 사용하여 새 구성 파일을 로드할 수 있습니다. 내 컨테이너에는 마운트가 없지만 마운트가 이미 제자리에 있으면 필요하지 않습니다.

관련 정보