저는 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
이 링크에 따르면
- https://github.com/docker/docker/issues/1034
- https://github.com/docker/docker/issues/2919
- http://s3hh.wordpress.com/2013/07/19/creating-and-using-containers-without-privilege/(약간 관련이 있음)
내가 올바르게 이해했다면 docker는 루트 권한 없이는 네트워크를 소유할 수 없습니다.
그게 전부인지 잘 모르겠습니다.