Docker와 Snap의 주요 차이점은 무엇입니까?


85

최근 c't (슬프게 paywalled )에는 Snap 및 Flatpak에 대한 기사가 있습니다.

여기에 이미지 설명을 입력하십시오

Docker와 매우 비슷하게 들리지만 많은 개념이 동일합니다. 이제 내 질문 Snap과 Docker의 차이점은 무엇입니까? 다른 사용 사례입니까?

답변:


109

당신은 찾을 수 있습니다 컨테이너 캠프에서 "우리는 애플 리케이션을위한 순수 다른 용기를 필요로하는 이유"마크 셔틀 워스 (Mark Shuttleworth)의 이야기를 귀하의 질문에 관련. 그는 일반적으로 처음에는 VM, 컨테이너 및 Docker에 대해 이야기하고 스냅을 계속하고 약 9 분 안에 어떻게 적용되는지 설명합니다. 다음은 내 요약입니다.

  • 다른 유형의 컨테이너는 동일하게 보이지만 다른 목적으로 사용됩니다.
  • 컨테이너는 실제로 커널 수준에 존재하지 않습니다. 다른 종류의 환상이 가능합니다. 독립적으로 컨테이너가 보는 사용자, 네트워크, 디스크 및 프로세스에 대한 환상을 만들 수 있습니다.
  • 다른 유형의 컨테이너는 실제로 생성되는 환상의 다른 클래스에 관한 것입니다.
  • 스냅은 다음과 같습니다.
    • 불변이지만 여전히 기본 시스템의 일부입니다.
    • 네트워크 측면에서 통합되어 있으므로 각 컨테이너가 자체 IP 주소를 얻는 Docker와 달리 시스템 IP 주소를 공유하십시오.
    • 즉, 도커은 우리에게 아무것도 제공 거기를 . 스냅은 여기에 우리에게 물건을 제공 합니다 . 예를 들어 데스크톱에서 스냅은 바로 앱을 제공합니다.
    • 스냅은 나머지 시스템을 오염시킬 수 없습니다. 자체 상자에 있습니다. 그러나 여전히 나머지 시스템을 볼 수 있으며 (읽기 전용) 시스템과 대화하고 통합 할 수 있습니다.

Docker와 다른 사용 사례에 대해 질문했습니다. 스냅은 할 수 있지만 Docker는 할 수 없습니다 : 데스크톱 앱. 타사는 스냅을 사용하여 데스크톱 앱을 제공 할 수 있으며 사용자는이를 쉽게 설치 및 업데이트 할 수 있습니다. Docker 컨테이너는 화면에서 사용자와 그래픽으로 쉽게 상호 작용하거나, 사용자의 홈 디렉토리에서 문서를로드하거나, 웹캠을 통해 화상 회의를 제공 할 수 없습니다. 스냅 권한 (한 번 부여 된 권한)

PPA를 사용하는 것보다 이것이 더 좋은 방법을 물을 수 있습니다. 그러나 Docker와 비교하면 시스템에 종속성을 수동으로 설치하는 것보다 Docker가 더 나은지 묻는 것과 같습니다. 더 낫지 만 Docker가 아닌 별도의 질문에서 어떻게 대답하는 것이 가장 좋을까요?


3
사실이 아닙니다. Docker는 권한이 부여 된 데스크톱 응용 프로그램과 상호 작용할 수 있습니다. github.com/jamrizzi/docker-gtk
Jam Risser

2
이것은 Windows 용 Sandboxie처럼 들립니다. 샌드 박스 프로그램은 대화 상자를 열고 모든 로컬 파일에 액세스 할 수 있지만 작성할 때 샌드 박스에 쓰기 만하면됩니다.
feedc0de

1
일반 도커와 다른 방식으로 연결하는 도구는 무엇입니까? 특별한 도커 버전없이 x11 소켓을 도커에 장착 할 수 있습니다.
feedc0de

1
그것은 도구가 아니라 데모입니다
Jam Risser

1
@jamrizzi 스크립트에서 X11 소켓에 도커 액세스 권한을 부여하는 것 같습니다. 이것은 어쨌든이 프로세스에서 사용자가 관여하도록하는 것과는 거리가 멀다 ( "Docker가 디스플레이에 액세스하려고합니다. 취소 또는 허용?"대화 상자는 어디입니까?)
Thorbjørn Ravn Andersen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.