Docker를 실행하는 우분투 20.04 서버가 있습니다. 최근에는 기본 의류 프로필이 도커 컨테이너의 마운트 지점에 대한 제한을 적용하기 시작한 것 같습니다. 따라서 컨테이너는 루트 파일 시스템을 마운트하는 대신 루트 파일 시스템에 직접 씁니다.
Docker 외부에서는 문제 없이 마운트를 탐색할 수 있지만 컨테이너 내부에서 셸을 실행하면 마치 마운트 지점이 마운트되지 않은 것처럼 보입니다.
나는 의류로 인한 문제로 범위를 좁히고 설치를 허용하기 위해 의류를 비활성화했으며 모든 것이 예상대로 작동합니다. 컨테이너가 docker-default 프로필을 사용하고 있는 것 같습니다.
제 질문은 Docker 컨테이너에 전역적으로 또는 단일 컨테이너에 설치를 활성화하는 방법입니다. 이 문제를 해결하기 위해 의류를 완전히 비활성화할 필요는 없나요?
답변1
그래서 내 문제는 실제로 파일 시스템이 마운트되기 전에 Docker가 시작되었다는 것이 밝혀졌습니다. 설치가 완료될 때까지 시작을 지연하도록 docker의 systemd 파일을 변경할 수 있다고 생각합니다. 컨테이너는 마운트 지점에 디렉터리로 바인딩되며 루트 파일 시스템에 직접 씁니다.
그런데 security_opt 옵션을 사용하여 컨테이너에 사용되는 의류 구성 파일을 변경하고 apparmor-parser를 사용하여 새 구성 파일을 로드할 수 있습니다. 내 컨테이너에는 마운트가 없지만 마운트가 이미 제자리에 있으면 필요하지 않습니다.