도커가 있는 Ubuntu WSL을 찾을 수 없습니다.
$ docker
이 WSL 1 배포자에서 찾을 수 없습니다.이 배포자를 WSL 2로 변환하고 Docker Desktop 설정에서 WSL 통합을 활성화하는 것이 좋습니다.
자세한 내용은 https://docs.docker.com/docker-for-windows/wsl/ 을 참조하십시오.
WSL2로 변경할 수 없고 도커를 설치할 수 없습니다.
도커 데스크톱 설정으로 이동하여 "리소스 -> WSL 통합"에서 대리점과의 통합을 활성화해야 합니다.
시스템에 wsl 2가 이미 있다고 가정하고 powershell을 admin으로 실행합니다.
려달을 wsl --list --verbose
중인 프로세스 합니다. wsl 목표시됩니다록이스실프행로세▁which다니.
> wsl --list --verbose
NAME STATE VERSION
Ubuntu-20.04 Running 1
그러면 다음으로 전환할 수 있습니다. wsl --set-version <your proc> 2
:
> wsl --set-version Ubuntu-20.04 2
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
Conversion complete.
설치 후 통합 WSL이 이미 활성화되어 있음에도 불구하고 제 문제는 동일한 것 같습니다.
윈도우즈 셸에서:
> wsl docker --version
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.
See https://docs.docker.com/docker-for-windows/wsl/ for details.
이 문제를 해결하기 위한 옵션은 Docker Desktop(https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon#how-to-uninstall-docker), 을 다시 설치하는 것이지만 이를 수행할 필요는 없습니다.
아래 단계는 저에게 효과가 있습니다(https://github.com/docker/for-win/issues/7039) 에서 확인했습니다).
Windows 셸을 열고(관리자로 표시될 수 있음) 다음을 실행합니다.
> wsl -t docker-desktop
> wsl --shutdown
> wsl --unregister docker-desktop
그런 다음 Windows 서비스로 이동하거나 Docker Desktop Service를 중지하거나 Windows Shell에서 admin으로 명령을 실행하여 다음 작업을 수행합니다.
> Stop-Service -Name "com.docker.service"
마지막으로 Docker Desktop App을 다시 시작합니다.
윈도우즈 셸에서 테스트:
> wsl docker --version
Docker version 20.10.2, build 2291f61
Ubuntu 18.04를 제거하고 20.04를 설치한 후 이 오류가 발생했습니다.
WSL 2가 활성화되어 있어도 이 오류가 발생합니다.
이것이 나에게 효과가 있는 것입니다. 설정 --> 리소스로 이동하여 "우분투"를 전환하면 오류가 사라집니다. :)
저는 시계 옆에서 도커 실행 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "Linux 컨테이너로 전환"을 선택한 것 외에는 아무 것도 작동하지 않았습니다.
그리고 갑니다! 이제 설정 > 리소스 > WSL 통합 메뉴를 사용할 수 있습니다.
wsl 터미널에서 다음 명령을 실행하는 나를 위해 작동했습니다.
sudo apt-get update
apt-cache policy docker-ce
sudo apt-get install -y docker-ce
sudo apt-get install docker-compose
sudo apt-get upgrade
출처 - https://www.srcmake.com/home/fabric
아직 문제가 있는 사람들에게는 제 심볼릭 링크 중 일부가 마법처럼 사라졌고 아무리 재설치해도 도움이 되지 않았습니다.
WSL2 설치에 다음 심볼 링크가 있는지 확인합니다.
$ ls -l /usr/bin/ | grep docker
lrwxrwxrwx 1 root root 56 Jul 14 13:01 com.docker.cli -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli
lrwxrwxrwx 1 root root 48 Jul 14 13:01 docker -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker
lrwxrwxrwx 1 root root 56 Jul 14 13:01 docker-compose -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose
lrwxrwxrwx 1 root root 59 Jul 14 13:01 docker-compose-v1 -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose-v1
lrwxrwxrwx 1 root root 71 Jul 14 13:01 docker-credential-desktop.exe -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe
lrwxrwxrwx 1 root root 50 Jul 14 13:01 hub-tool -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/hub-tool
lrwxrwxrwx 1 root root 48 Jun 29 09:27 notary -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/notary
리소스 아래에 WSL 통합이 표시되지 않았습니다.
General settings(일반 설정), Apply(적용), Check it(다시 확인), Apply(적용)에서 "WSL2 기반 엔진 사용"을 선택 취소해야 했습니다. 그러면 리소스 아래에 WSL Integration(WSL 통합)이 표시되고 Ubuntu(우분투) 슬라이더를 클릭할 수 있었습니다.
이 문제가 있었어요, 제가 운영하는 것입니다.
$ ls -l /usr/bin/ | grep docker
는 이 답변에 따라 올바른 심볼 링크를 모두 보여주었지만 다음과 같이 확인되었습니다.
which docker
/mnt/c/Program Files/Docker/Docker/resources/bin/docker
해결책은 단순히 설정하는 것이었습니다.PATH
을 가질 /user/bin
번째
PATH="/usr/bin:$PATH"
다수의 답변에서 이 오류를 유발할 수 있는 것들이 많아 보이므로 주행거리가 달라질 수 있습니다.
또한 Docker Desktop이 실제로 실행 중인지 확인해야 합니다.그렇지 않다면,which docker
결과는 다음과 같습니다./mnt/c/...
위와 같은 디렉토리입니다.
Taylor가 그의 의견에 썼듯이 당신은 WSL에서 도커 데스크톱으로 연결해야 합니다.
.expose daemon on ...
이 상자를 선택합니다.
이제 도커 CLI가 필요합니다. Linux VM을 설치한 다음 방금 설치한 Linux VM에 도커를 설치할 수 있습니다.
다음 그럼실을 실행합니다.which docker
이 파일을 Windows 컴퓨터에 복사합니다.
을 에 복사합니다./usr/local/bin
WSL에 있습니다.
합니다.
echo "export DOCKER_HOST=tcp://localhost:2375" >> ~/.bashrc
. ~/.bashrc
이것은 WSL 1에서 저에게 효과가 있었습니다.
제 경우 도커 앱에서 통합이 올바르게 설정되었고, WSL2가 기본 wsl이었고, 다른 답변에서 언급한 것처럼 wsl 도커 인스턴스 등록을 취소하고 도커 서비스를 다시 시작하는 문제를 해결할 수 없었습니다.
에, 는 마후명, 나령이는라는 .docker-compose
성공적으로 작동한이 문제는 다음으로 제한되었습니다.docker
지휘권
는 ▁dock▁the▁in▁다▁commandser▁iusr/bin
그것이 바로 그 길입니다.docker-compose
(위치which docker-compose
), 그래서 실행합니다.ls -l /usr/bin | grep docker
찾았습니다
drwxrwxrwx 1 root root 48 Nov 29 10:59 docker
lrwxrwxrwx 1 root root 56 Nov 29 10:59 docker-compose -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose*
lrwxrwxrwx 1 root root 59 Nov 29 10:59 docker-compose-v1 -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose-v1*
lrwxrwxrwx 1 root root 71 Nov 29 10:59 docker-credential-desktop.exe -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe*
lrwxrwxrwx 1 root root 50 Nov 29 10:59 hub-tool -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/hub-tool*
이상한 이유로 도커는 상징적인 링크가 아니라 디렉터리였습니다.
디렉터리를 제거하고 심볼릭 링크를 수동으로 다시 만드는 문제를 해결했습니다.
rm -rf /usr/bin/docker
sudo ln -s /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker /usr/bin/docker
파브리시오 페레이라스의 대답은 저에게 효과가 있었지만, 저는 그것을 꽤 자주 해야 했고, 여전히 짜증이 났습니다.시스템을 시작하는 순서도 중요한 것으로 나타났습니다.
도커를 먼저 시작한 다음 WSL2를 시작합니다.
저는 Windows에서 Docker Desktop을 시작하지 않으며 보통 WSL에서 터미널을 이미 열었습니다.그러면 도커를 찾을 수 없습니다.WSL2를 종료하고 도커가 이미 실행 중일 때 다시 시작했기 때문에 Fabricios 응답이 작동했습니다.
다음 단계를 수행했습니다. https://learn.microsoft.com/en-us/windows/wsl/install-win10
또한 마지막 단계로 도커를 unbuntu로 만들기 위해 도커 리소스에서 활성화했습니다.Settings > Resources > WSL Integration.출처: https://docs.docker.com/docker-for-windows/wsl/
wsl2와 호환되는 디스트리뷰터가 있는지 확인합니다.
Ubuntu-20.04(WSL2)와 Docker Desktop(v4.11.1)에서도 동일한 문제가 발생했습니다.WSL 통합 및 기타 플래그는 모두 설정되었지만 다음과 같은 메시지가 표시되었습니다.
이 WSL 2 배포자에서 '도커' 명령을 찾을 수 없습니다.
저는 @r590의 방법을 따랐습니다.다음에서 WSL Integration을 껐다가 켭니다.
리소스 > WSL 통합
그리고 나서 그것은 저에게 효과가 있었습니다.
도커 데스크톱을 처음 설치하는 경우 가장 간단한 솔루션이 가장 효과적인 솔루션인 경우가 있습니다. 변경 사항을 적용하려면 창을 다시 시작해야 합니다.이것이 효과가 있을 것이라고 보장되지는 않지만 항상 시도해 볼 가치가 있습니다.
기계를 재부팅했더니 도커가 작동을 멈췄습니다.다시 설치합니다.docker-decktop
모든 제안을 했지만 아무 것도 효과가 없었습니다.
여기에 디렉터리가 있습니다./usr/bin/docker
삭제하고 도커를 다시 설치하여 문제를 해결했습니다.
저도 같은 문제가 있었지만 도메인 아래의 기본 계정이 표준 사용자이고 관리자 권한이 없기 때문에 다른 Windows 계정(admin)을 사용하여 도커를 설치했습니다.
도커를 설치한 후 도커를 시작했는데 도커의 일부가 아니라는 오류가 발생했습니다.docker-users
그룹을 만들어서 제가 가지고 있는 관리자 계정을 사용하여 도커를 시작했습니다.도커가 시작되었지만 WSL 통합을 볼 수 없습니다.아래 스크린샷과 유사합니다.
내가 그것을 고친 것은 도메인 계정을 에 추가하는 것입니다.docker-users
그리고 내 기계를 다시 시작합니다.그런 다음 WSL이 구성에 표시됩니다.
# For local account
net localgroup docker-users "your-user-id" /ADD
# For domain account
net localgroup docker-users "DOMAIN\your-user-id" /ADD
오류는 WSL 버전 1을 사용 중임을 나타냅니다.
2로 변경하려면 PowerShell을 열고 실행합니다.
wsl -l -v
Ubuntu(또는 비슷한 것) 근처에 숫자 1이 보일 것입니다.
버전 2로 변경하려면 다음을 실행합니다.
wsl --set-version Ubuntu 2
그리고 당신은 다음과 같은 것을 보게 될 것입니다.
WSL 콘솔을 관리자로 실행해야 합니다.그렇지 않으면 도커 명령이 인식되지 않을 수 있습니다.
도커 데스크톱에서 리눅스 컨테이너로 전환하면 작동합니다.
제 경우 배포가 WSL 1 모드에서 실행되었습니다.
WSL 모드를 확인하려면 다음을 실행합니다.
wsl.exe -l -v
기존 Linux 디스트리뷰터를 v2로 업그레이드하려면 다음을 실행합니다.
wsl.exe --set-version (distro name) 2
v2를 향후 설치를 위한 기본 버전으로 설정하려면 다음을 실행합니다.
wsl.exe --set-default-version 2
언급URL : https://stackoverflow.com/questions/63497928/ubuntu-wsl-with-docker-could-not-be-found
'programing' 카테고리의 다른 글
레이블에 "_" 문자가 표시되지 않음 (0) | 2023.04.28 |
---|---|
워크시트_변경 하위 절차 중에 MS Excel이 충돌하고 닫히는 이유는 무엇입니까? (0) | 2023.04.28 |
Azure 가상 시스템 간의 공유 드라이브 (0) | 2023.04.28 |
Azure Git에 대한 인증 실패 (0) | 2023.04.28 |
두 번째 로그인은 첫 번째 로그인 MVC 이후 무한 리디렉션 루프를 발생시킵니다.NET 5 OWIN 추가 오픈IDC 연결 (0) | 2023.04.28 |