Docker는 "하드 디스크 I/O 읽기 및 쓰기"를 격리할 수 없지만 파일 시스템, 네트워크(네트워크), 프로세스 간 통신, 권한을 위한 사용자 및 사용자 그룹, 프로세스 내의 PID 및 호스트의 PID를 격리할 수 있습니다. , 호스트 이름과 도메인 이름이 분리되어 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
Docker는 많은 리소스를 제어할 수 있지만 현재 "하드 디스크 I/O 읽기 및 쓰기" 리소스를 격리하는 것은 불가능합니다.
하드디스크 I/O는 하드디스크의 입출력(Input and Output의 약어)을 말합니다. 디스크에서 특정 섹터의 내용을 읽으라는 명령을 내리는 것입니다. 이 명령은 일반적으로 디스크에 시작 섹터 위치를 알리고 이 초기 섹터에서 읽어야 하는 연속 섹터 수를 제공하며 작업이 읽기인지 쓰기인지 여부도 제공합니다.
디스크 I/O 리소스의 경우 고려해야 할 매개변수는 용량과 읽기 및 쓰기 속도이므로 컨테이너에 대한 디스크 제한도 이 두 가지 차원을 기반으로 해야 합니다. 현재 Docker는 디스크의 읽기 및 쓰기 속도 제한을 지원하지만 컨테이너가 사용할 수 있는 디스크 용량을 제한할 수 있는 방법은 없습니다. (디스크가 컨테이너에 마운트되면 컨테이너는 디스크의 모든 용량을 사용할 수 있습니다.) .
그렇다면 Docker가 격리할 수 있는 리소스는 무엇인가요?
Docker는 네임스페이스를 통한 리소스 격리, cgroup을 통한 리소스 제한, *기록 중 복사*를 통한 효율적인 파일 작업을 구현합니다.
네임스페이스로 격리할 수 있는 것은 무엇입니까? 컨테이너가 다른 컨테이너를 방해하지 않도록 하려면 다음을 수행할 수 있어야 합니다.
파일 시스템을 격리해야 합니다
네트워크도 격리해야 합니다
프로세스 간 통신도 격리해야 합니다.
권한과 관련하여 사용자와 사용자 그룹도 격리해야 합니다.
프로세스 내의 PID도 호스트의 PID와 격리해야 합니다.
컨테이너에는 자체 호스트 이름도 있어야 합니다
위의 격리를 통해 컨테이너를 호스트 및 다른 컨테이너로부터 격리할 수 있다고 믿습니다.
"
위 내용은 Docker가 격리할 수 없는 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!