Docker의 격리는 주로 Namespace 기술을 사용합니다.
네임스페이스로 격리할 수 있는 것:
1. 파일 시스템을 격리해야 합니다.
2. 네트워크도 격리해야 합니다.
3. 프로세스 간 통신도 격리해야 합니다.
4. 사용자와 사용자 그룹도 격리해야 합니다.
5. 프로세스의 PID도 호스트의 PID와 격리해야 합니다.
네임스페이스를 사용하여 컨테이너를 격리할 때의 단점은 무엇인가요?
가장 큰 단점은 격리가 완전하지 않다는 점입니다.
1) 컨테이너 지식은 호스트에서 실행되는 특수 프로세스이므로 여러 컨테이너가 동일한 호스트 운영 체제 커널을 사용합니다.
2) Linux 커널에는 네임스페이스를 지정할 수 없는 리소스와 개체가 많이 있습니다. 가장 일반적인 예는 시간입니다. 즉, 컨테이너가 시간을 변경하면 그에 따라 전체 호스트의 시간도 수정됩니다.
3) 컨테이너는 애플리케이션을 상대적으로 큰 공격 표면에 노출시킵니다. 프로덕션 환경에서는 누구도 감히 물리적 머신에서 실행되는 Linux 컨테이너를 공용 네트워크에 노출하지 않습니다.
더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트의 docker tutorial 칼럼을 주목하세요.
위 내용은 Docker는 무엇을 분리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!