미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트
The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...
Microsoft는 Linux용 Windows 하위 시스템(WSL)을 도입하여 개발자가 가상 머신의 오버헤드 없이 Windows에서 수정하지 않고 직접 GNU/Linux 환경을 실행할 수 있는 기회를 제공했습니다. 많은 개발자가 하나의 시스템을 프로그래밍용으로 사용하고 다른 시스템을 엔터테인먼트용으로 사용하기 때문에 이는 훌륭한 솔루션입니다.
WSL은 아직 개발 중이지만, 현재는 현대의 소프트웨어 개발의 첫 번째 버전과 두 번째 버전 모두에서 문제가 발생했습니다. 인터넷에 보고된 문제와 질문을 살펴보면 대부분 WSL과 Docker의 통합, 특히 WSL 1에서 WSL 2로 업그레이드할 때 발생하는 문제인 것 같습니다.
이 글은 모든 모호함을 없애고 이 과정을 쉽게 진행할 수 있도록 도와줄 것입니다. WSL 1이 없고 Docker와 함께 WSL 2를 사용하려는 경우 마지막 장으로 바로 넘어갈 수 있습니다.
- 실제 안정적인 최신 Linux 커널(Microsoft에서 튜닝). WSL 1에는 Linux 커널 없이 Linux와 호환되는 커널 인터페이스가 있습니다. 코드.
- 파일 IO 성능 향상. 압축된 타르볼의 압축을 풀 때 WSL 1 대비 최대 20배, 사용 시 약 2~5배 빨라집니다. git clone
, npm 설치
그리고 cmake
다양한 프로젝트에 참여하고 있습니다.
- 완벽한 시스템 호출 호환성. Linux 바이너리는 시스템 호출을 사용하여 파일 액세스, 메모리 요청, 프로세스 생성 등 다양한 기능을 수행합니다. WSL 1은 WSL에서 구축한 번역 계층을 사용했지만 팀WSL 2에는 완전한 시스템 호출 호환성을 갖춘 자체 Linux 커널이 포함되어 있습니다.
- 가상 디스크의 기본 ext4 파티션에 저장된 파일.
- Docker와 매우 쉽게 통합할 수 있습니다.
대부분의 사용자에게는 파일 IO 성능과 손쉬운 도커 통합이 충분한 이유일 것 같습니다.
최신 안정 버전의 Windows 10 Pro를 사용 중이라고 가정합니다. 오늘은 1909 릴리스입니다.
현재 WSL 2는 인사이더 슬로우 링의 Windows 10에서만 사용할 수 있습니다. 제가 알기로는 2020년 5월(상반기 출시)에 안정 버전이 출시될 예정입니다. 슬로우 링은 빠른 링 사용자가 이미 사전 테스트한 새로운 기능을 조금 더 일찍 사용하고자 하는 사용자에게 매우 안전한 솔루션입니다. 슬로우 링은 최대 한 달에 한두 번 시스템 업데이트를 받을 수 있습니다. 내부자 릴리스 변경 사항에 대한 자세한 내용은 다음 Microsoft 문서에서 확인할 수 있습니다. 항공편 허브.
가입하려면 공식 Microsoft 가이드. 매우 간단하며 개인 데이터 손실 없이 약 15분 정도 소요됩니다.
공식 팔로우 가이드. 셸 명령 몇 개만 있으면 매우 간단합니다! WSL 1의 Linux가 얼마나 광범위했는지에 따라 시간이 다소 걸릴 수 있습니다. 안타깝게도 Microsoft는 진행률 표시줄이나 필요한 시간에 대한 정보를 제공하지 않으니 조금만 기다려 주세요.
이것은 WSL 2와 Docker의 적절한 협력을 위해 가장 중요한 부분입니다. WSL 2로 업그레이드한 후, 많은 사용자가 Docker 팀, 특히 WSL 2를 위해 모든 것을 해줄 릴리스가 준비되어 있다는 사실을 깨닫지 못한 채 자신의 Docker 버전이 협력하도록 강제하려고 합니다. 이 버전은 Docker Edge 버전(베타 이름)의 마지막 릴리스인 "Docker Desktop WSL 2 백엔드"입니다. 이 버전인 2.1.7.0은 잘 다듬어진 버전으로 곧 출시될 안정적인 릴리스의 후보입니다.
WSL 1이 없거나 방금 새 버전의 WSL 2를 설치한 사용자는 운이 좋으면 바로 마지막 장으로 건너뛸 수 있습니다.
Docker를 (전혀 또는 올바르게) 정리하지 않았고 WSL 2용 Docker의 올바른 버전을 설치하지 않은 경우 다음과 같은 몇 가지 일반적인 오류가 발생할 수 있습니다, tcp://localhost:2375에서 도커 데몬에 연결할 수 없습니다.","도커 데몬이 실행 중입니까?
등 대부분의 경우 이러한 오류를 해결하기 위해 새로운 접근 방식을 취해야 한다는 사실을 모른다면 시간을 낭비하게 됩니다. 이렇게 하려면 먼저 WSL과 Windows에서 Docker를 완전히 제거해야 하는데, 이는 분명한 단계가 아닙니다.
제거되지 않은 가장 일반적인 예는 환경 변수를 설정하는 이전 Docker 접근 방식입니다. DOCKER_HOST=tcp://localhost:2375
윈도우 도커 옵션과 협력하기 위해 WSL 1에 따라 TLS 없이 tcp://localhost:2375에 데몬을 노출합니다.
.
sudo apt-get 제거 도커 도커-엔진 도커.io 컨테이너 runc
이 목록에 추가할 수 있습니다. docker-ce
그리고 docker-ce-cli
.
dpkg -l | grep -i 도커
를 클릭하고 여전히 존재하는 경우 제거합니다.sudo rm -rf /var/lib/docker /etc/docker /등/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker
sudo 그룹델 도커 ~/.docker
모두 찾기 도커
단어를 검색하고 확실한 단어는 제거합니다.
sudo find / -name "*도커*"
도커
환경 변수 DOCKER_HOST=tcp://localhost:2375
.이러한 파일은 나노 편집기로 편집할 수 있습니다, 나노 ~/.bashrc
또는 Visual Studio Code, 코드 ~/.bashrc
.
~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/.profile
/etc/bash.bashrc
/etc/profile
앱 및 기능
패널.C:프로그램 파일도커
C:프로그램데이터도커데스크톱
C:Users[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop
다음에서 최신 버전의 Docker Desktop Edge를 설치하세요. 여기 를 클릭하고 공식 문서. 클릭 몇 번으로 모든 것이 해결됩니다.
모든 것이 순조롭게 진행되면 다음에서 출력을 확인할 수 있습니다. wsl -l -v
이렇게요:
이름 상태 버전
우분투-18.04 실행 2
도커-데스크톱 실행 2
도커-데스크톱-데이터 실행 2
그게 전부입니다. Docker는 자체 WSL 컨테이너를 생성했습니다. 도커-데스크톱
그리고 도커-데스크톱-데이터
. 사용 가능한 튜토리얼이나 조언 중 일부는 혼란스러울 수 있습니다. WSL Linux 배포판에서 Docker와 관련된 어떤 것도 설치하거나 구성해서는 안 됩니다.. 기억하는 것이 매우 중요합니다. 청소 후에는 바로 잘 작동해야 합니다.
또한...
몇 가지 간단한 단계만 거치면 Docker로 WSL 2를 쉽게 설정할 수 있습니다. 업데이트하여 시작하세요. 패키지 목록 명령을 사용하여 "sudo apt-get update"를 사용하여 최신 버전 정보를 확인합니다. 누락된 종속성이 있으면 "sudo apt-get install -y build-essential"을 실행하면 원활한 설치 환경을 경험할 수 있습니다. 설치 도커 엔진 "sudo apt-get install -y 도커 엔진"를 실행하여 컨테이너를 손쉽게 빌드, 실행 및 관리할 수 있습니다. 이미지 이름 뒤에 "sudo docker run"을 실행하여 컨테이너를 실행합니다. 환경을 최적화하려면 주기적으로 "sudo docker system prune"을 실행하여 사용하지 않는 컨테이너를 제거하고 디스크 공간을 확보하세요. 이러한 단계를 통해 WSL 2와 Docker의 원활한 통합을 통해 개발 워크플로우에서 컨테이너를 효율적으로 활용할 수 있습니다.