웹 호스팅의 경우 우리 회사는 프런트 엔드로 역방향 프록시가 있는 각 웹 애플리케이션에 대해 Docker 컨테이너를 사용하려고 합니다. 작동하지만 우리는 사용자가 자신의 애플리케이션을 관리할 수 있는 방법을 찾고 있습니다. 관리자는 역방향 프록시와 DNS를 통해 공개 및 비공개 액세스를 제어합니다.
그러나 docker 데몬에 명령을 보낼 수 있는 사용자는 원하는 대로 무엇이든 할 수 있으므로 사용자에게 docker 인스턴스를 시작/중지할 수 있는 권한을 부여할 수 없습니다.여기그리고여기).
그렇다면 사용자가 특정 도커 컨테이너의 시작/중지 및 구성을 처리하도록 하려면 어떻게 해야 할까요?
현재 유일한 해결책(발견됨)여기)는 Docker가 레지스트리의 변경 사항을 감지하여 업데이트를 다운로드하고 다시 시작하도록 하는 것입니다.망대).
또 다른 대안은사용자 네임스페이스 지원을 기다립니다루트 컨테이너 사용자가 루트 호스트 사용자에 액세스할 수 없도록 하려면 충분할까요?
편집하다: docker는 보안 측면에서 그다지 강력하지 않지만 우리의 경우에는 다음과 같습니다.
- 사용자는 인증된 내부 직원으로 제한됩니다.
- 사용자는 docker 데몬에 직접 액세스할 수 없습니다(이것이 내 질문의 요점입니다).
- 수백 개의 가상 호스트가 있는 단일 인스턴스 아파치보다 더 나은 솔루션입니다.
- 우리는 기존 LAMP 대신 대안 웹 프레임워크/특이한 구성(node.js, meteor, ruby)에 대한 요구를 처리해야 하며, 컨테이너는 개발자가 애플리케이션을 호스팅 플랫폼으로 이전하는 데 적합합니다.
- 이것은 우리가 수행하고 있는 실험입니다. 가까운 미래에 다음과 같은 솔루션이 출시되기를 바랍니다.프로젝트 원자및/또는 사용자 네임스페이스 지원으로 인해 더 나은 보장이 제공됩니다.