사용자가 Docker를 사용하여 웹 애플리케이션을 관리하도록 하려면 어떻게 해야 합니까?

사용자가 Docker를 사용하여 웹 애플리케이션을 관리하도록 하려면 어떻게 해야 합니까?

웹 호스팅의 경우 우리 회사는 프런트 엔드로 역방향 프록시가 있는 각 웹 애플리케이션에 대해 Docker 컨테이너를 사용하려고 합니다. 작동하지만 우리는 사용자가 자신의 애플리케이션을 관리할 수 있는 방법을 찾고 있습니다. 관리자는 역방향 프록시와 DNS를 통해 공개 및 비공개 액세스를 제어합니다.

그러나 docker 데몬에 명령을 보낼 수 있는 사용자는 원하는 대로 무엇이든 할 수 있으므로 사용자에게 docker 인스턴스를 시작/중지할 수 있는 권한을 부여할 수 없습니다.여기그리고여기).

그렇다면 사용자가 특정 도커 컨테이너의 시작/중지 및 구성을 처리하도록 하려면 어떻게 해야 할까요?

현재 유일한 해결책(발견됨)여기)는 Docker가 레지스트리의 변경 사항을 감지하여 업데이트를 다운로드하고 다시 시작하도록 하는 것입니다.망대).

또 다른 대안은사용자 네임스페이스 지원을 기다립니다루트 컨테이너 사용자가 루트 호스트 사용자에 액세스할 수 없도록 하려면 충분할까요?

편집하다: docker는 보안 측면에서 그다지 강력하지 않지만 우리의 경우에는 다음과 같습니다.

  • 사용자는 인증된 내부 직원으로 제한됩니다.
  • 사용자는 docker 데몬에 직접 액세스할 수 없습니다(이것이 내 질문의 요점입니다).
  • 수백 개의 가상 호스트가 있는 단일 인스턴스 아파치보다 더 나은 솔루션입니다.
  • 우리는 기존 LAMP 대신 대안 웹 프레임워크/특이한 구성(node.js, meteor, ruby)에 대한 요구를 처리해야 하며, 컨테이너는 개발자가 애플리케이션을 호스팅 플랫폼으로 이전하는 데 적합합니다.
  • 이것은 우리가 수행하고 있는 실험입니다. 가까운 미래에 다음과 같은 솔루션이 출시되기를 바랍니다.프로젝트 원자및/또는 사용자 네임스페이스 지원으로 인해 더 나은 보장이 제공됩니다.

답변1

고객 인터페이스에 자신이 소유한 컨테이너를 표시하고 다음을 통해 컨테이너를 재부팅할 수 있는 옵션을 추가할 수 있습니다.도커 원격 API

그러나 이는 안전한 사용자 인터페이스와 적절한 사용자 권한 관리가 있는 경우에만 선택할 수 있는 옵션입니다.

Docker 원격 API는 10월 말에 다음 버전 1.9에서 변경될 예정입니다.로드맵 1.9

관련 정보