Windows 10의 Ubuntu : Docker 및 WSL


11

현재 Windows 10에서 Ubuntu를 두 가지 방법으로 실행할 수 있음을 이해합니다.

  1. Linux 용 Windows 서브 시스템 (WSL) 사용
  2. Windows 10 용 docker를 설치하고 Ubuntu와 함께 컨테이너를 사용하십시오.

그러나 장단점뿐만 아니라 차이점에 대한 설명 (응용 프로그램에 대한 이야기)을 이해하기 쉽지 않았습니다.

WSL에서 도커를 사용하는 것에 대한 게시물을 찾았습니다. (Windows Linux Subsystem) 및 Docker를 통해 Ubuntu . 그러나 저는 Windows 10에서 직접 사용하는 것에 대해 이야기하고 있습니다. 따라서이 두 가지에 대한 정보에 감사하겠습니다.


나는 답변을 작성하는 전문가가 아니지만 제 투표는 Docker에게갑니다. Docker는 가상화를 의미하기 때문에 문제가 발생하기 때문입니다. 반면에 WSL에는 버그가 가득합니다. 그것은 벤치 마크, 재미, 그리고 대부분 개발에 효과적입니다. 그러나 심각한 것을 배포하려는 경우 적어도 아직 선택하지 않은 것입니다.
Hi-Angel

답변:


14

WSL2에 도입 된 변경 사항을 반영하여 2020/02/18로 업데이트되었습니다.

안녕! WSL 및 명령 줄에서 작업하는 Microsoft PM은 여기입니다.

WSL을 사용하면 Windows에서 수정되지 않은 기본 Linux ELF-64 바이너리를 직접 실행할 수 있으며 Windows "호스트"OS에서 자주 사용하는 Linux 도구를 실행할 수 있습니다.

WSL1은 NT 커널 상단에 Linux syscall 호환 레이어를 추가하여 Linux 바이너리가 NT에서 실행되도록하여 호스트 OS와 동일한 기본 파일 시스템, 네트워킹, 프로세스 목록 등을 공유 할 수있는 접근 방식을 취했습니다.

반면에 곧 출시 될 WSL2는 실제 Linux 커널에서 Linux 컨테이너 내에서 배포 된 바이너리를 실행하는 경량 VM 내에서 실행되는 앱에 필요한 RAM 만 할당 한 다음 사용 가능한 RAM을 다시 해제합니다. 호스트 OS. 이는 100 % Linux 호환성을 제공하며 Linux 도구를 거의 기본 성능으로 실행하고 호스트에서 필요한 최소한의 리소스를 사용하여 컴퓨터가 빠르고 원활하게 실행되도록합니다.

WSL2 이전에는 WSL1에서 Docker 클라이언트를 실행하여이를 사용하여 로컬 호스트에서 Hyper-V를 실행하는 Windows 용 Docker를 구동하거나 원격 Docker 서버를 관리 할 수있었습니다. 그러나 많은 기술적 인 이유로 WSL1에서 Docker Engine을 실행할 수 없습니다.

그러나 WSL2의 Docker에서 동일한 작업을 수행 할 수 있지만 원하는 경우 WSL에서 Docker Engine 자체를 실행할 수도 있습니다. 이것이 Windows 데스크톱에서 Docker를 실행하기위한 Docker의 기본 경로입니다 .

WSL에 대한 자세한 내용은 https://aka.ms/learnwsl 에서 비디오 및 문서를 검토하십시오.


이 답변은 WSL을 의미한다고 생각합니다. WSL 2는 Windows와 인터페이스하는 사용자 지정 Linux 커널을 실행합니다. 사용자 지정 Windows Linux 커널은 VM에서 실행된다고 생각합니다.
Jordan Stewart

1
그게했다. WSL2 현실을 더 잘 반영하기 위해 업데이트를 게시했습니다 :)
Rich Turner

2

맞아요. 언급하지 못한 한 가지 사실은 WSL이 현재 ssdd / lots of ram / 8-core xeon cpu를 사용하더라도 속도가 느리다는 것입니다. 이것은 2019 년 1 월 여전히 문제입니다. 방금 ray @ DESKTOP-O0MT13B : / mnt / c / Users / rayjh $ dd if = / dev / zero of = test bs = 64k count = 16k conv = f 삼성 SSD가 장착 된 내 워크 스테이션에서 97.6 MB 만 받았습니다 /에스.

베어 메탈 우분투 LTS를 실행하면이 상자가 몇 배나 늘어납니다. WSL을 VSCODE와 결합하려고 할 때 끝없는 문제를 신경 쓰지 마십시오.

여기에서 Windows 10을 지우고 우분투 18.04LTS를 설치하고 있습니다.


특히 마지막에 독성이 없어도됩니다. 오히려, 직면 한 문제의 원인을 조사하기 위해 무엇을했는지, 알려진 문제인지 여부, 누군가가 문제를 해결하기 위해 노력하고 있는지 알려주십시오. 나는 그들이 확신합니다. 또한 Windows를 제거 할 필요가 없으며 hyper-v manager를 설치하고 Ubuntu를 빠르게 설치하기 만하면되며 가상 Linux 데스크탑 내부에서 작업하려는 경우 Linux 개발 환경으로 설정됩니다. 그렇지 않으면 WSL을 계속 사용하고 문제가 해결 될 때까지 기다리십시오. 97 MB / s는 그렇게 느리지 않습니다.
Paul-Sebastian Manole

AFAIK 속도 문제는 Windows 파일 액세스 하위 시스템과 관련이 있으며 해결 방법이 있습니다.
Paul-Sebastian Manole

WSL은 여전히 ​​느립니다. 그러나 시작 시간이 매우 빠르며 일반적인 Linux CLI 도구를 사용할 수 있습니다. 리눅스와 윈도우 파일 시스템을 매핑하는 것은 복잡해 보입니다.
Jordan Stewart

훨씬 빨라졌습니다. 그러나 miniconda를 사용하고 패키지를 설치하려고 시도했지만 여전히 약간 느립니다.
rayj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.