Docker에 루트 권한이 필요한 이유는 무엇입니까?

Docker에 루트 권한이 필요한 이유는 무엇입니까?

저는 Docker를 배우고 있는데 정말 즐겁습니다.

그러나 컨테이너 생성, 로그 읽기 등을 위해 docker에 루트 권한이 필요한 이유를 이해하지 못합니다.

이런 기사를 읽은 적이 있어요

https://docs.docker.com/articles/security/

하지만 "docker는 루트 폴더에 액세스할 수 있기 때문에 루트 권한이 필요합니다"라는 메시지만 표시됩니다. 글쎄요, 루트가 아닌 사용자로 docker를 실행하고 루트가 아닌 사용자가 소유한 외부 시스템의 폴더에만 액세스하도록 허용하는 것은 괜찮습니다.

이것이 왜 문제가 됩니까?

답변1

포트 바인딩, 파일 시스템 설치 등과 같은 일부 "멋진" 도커 기능에는 엄격한 요구 사항이 있습니다.docker.io 악마슈퍼유저 권한으로 실행합니다.

그러나 당신은할 수 있는사용docker 명령줄 도구docker.io데몬이 네트워크 포트에서 수신 중이거나 사용자가 해당 Unix 소켓을 읽고 쓸 수 있는 경우 루트 권한이 필요하지 않습니다.

이는 심각한 보안 위반이므로 일반적으로 사용해서는 안 됩니다.

Docker 보안에 대한 추가 세부정보:https://docs.docker.com/articles/security/

답변2

이 링크에 따르면

내가 올바르게 이해했다면 docker는 루트 권한 없이는 네트워크를 소유할 수 없습니다.

그게 전부인지 잘 모르겠습니다.

관련 정보