programing

Windows에서 도커를 시작할 수 없음

stoneblock 2023. 9. 1. 20:32

Windows에서 도커를 시작할 수 없음

을 실행하는 중docker version윈도우즈의 명령은 다음 결과를 반환합니다.

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

진단을 실행하면 다음이 생성됩니다.

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at <ScriptBlock>, <No file>: line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at <ScriptBlock>, <No file>: line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
 [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at <ScriptBlock>, <No file>: line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at <ScriptBlock>, <No file>: line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>

이 오류는 해당 부품과 관련이 있습니다.

윈도우즈의 기본 데몬 구성에서 연결하려면 도커 클라이언트를 상승된 상태로 실행해야 합니다.

  • 「 」이 「 」인지합니다.Docker Desktop응용 프로그램이 실행 중입니다.그렇지 않은 경우 실행합니다. 그러면 도커 데몬이 실행됩니다(몇 분만 기다리십시오).

  • 그런 다음 오류가 계속 발생하면 아래 설명과 같이 Docker 데몬 유형을 전환할 수 있습니다.

파워셸 포함:

  1. 관리자 권한으로 Powershell 열기
  2. 명령: 실행명령:& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

또는 cmd 포함:

  1. 관리자로 cmd 열기
  2. 명령: 실행명령:"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

도커 데몬을 시작하여 문제가 해결되었습니다.Windows 키를 누르고 "Docker Desktop(도커 데스크톱)"을 클릭하여 도커를 검색합니다.데몬은 잠시 후에 실행될 것입니다.

Docker Desktop을 시작한 후 왼쪽 아래에 있는 Docker 데몬 상태가 녹색으로 표시되고 그 위에 마우스를 놓으면 RUNNING으로 표시되는지 확인합니다.

실행할 수 있습니다."C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon도커 CLI를 Linux 또는 Windows 컨테이너로 지정합니다.이것은 저에게 효과가 있었습니다.

오류 코드:

연결 중 오류 발생: http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version: open ///pipe/docker_engine:지정한 파일을 찾을 수 없습니다.Windows의 기본 데몬 구성에서 연결하려면 도커 클라이언트를 상승된 상태로 실행해야 합니다.이 오류는 도커 데몬이 실행되고 있지 않음을 나타낼 수도 있습니다.

솔루션:

윈도우즈 7 명령 창(cmd.exe)의 경우 cmd를 엽니다.exe를 administrator로 실행하고 다음 명령을 실행합니다.

docker-machine env --shell cmd default

다음과 같은 출력이 표시됩니다.

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

아래 명령을 복사하고 cmd에서 실행합니다.

@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

그런 다음 다음 명령을 실행하여 제어합니다.

docker version

윈도우즈 7 Powershell의 경우 관리자 권한으로 실행하여 powershell.exe를 열고 다음 명령을 실행합니다.

docker-machine env --shell=powershell | Invoke-Expression

그런 다음 다음 명령을 실행하여 제어합니다.

docker version

cmd 또는 powershell을 다시 여는 경우 관련 단계를 다시 반복해야 합니다.

도커 바탕 화면이 왼쪽 하단에 STOPPED(중지) 또는 Not Running(실행 중이 아님) 화면이 나타나면 다음을 수행합니다.

  1. 에서 PowerShell 열기 – 관리자 권한으로 실행
  2. Docker 바탕 화면이 열려 있는 경우 닫기
  3. " & PowerShell " &quot;&quot;에서 합니다.'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon”
  4. 도커 데스크톱을 엽니다. 시작됩니다.

저는 이 질문이 오래 전이라는 것을 알지만 적절한 설명과 해결책을 찾지 못했기 때문에 제 대답이 유용하기를 바랍니다 :)

하면 두 가지 모두 Docker Toolbox가 있습니다.docker그리고.docker-machine명령을 사용할 수 있습니다.종종, 사람들은 이것들 중 어느 하나를 언제 사용해야 할지 혼란스러워 합니다.

docker명령은 가상 시스템 내에서만 이미지를 관리하는 데 사용됩니다.docker-machine명령은 호스트에서 Linux VM을 관리하는 데 사용됩니다.

그래서, 이용해주세요.docker-machine명령을 실행할 수 있습니다.dockerVM 내부의 명령입니다.용방법을 docker를 들어, 명령어는 ""(")입니다.docker psDocker Quickstart Terminal을 열거나 cmd/bash/PowerShell에서 실행할 수 있습니다.

docker-machine run default/기본값이 Linux VM이라고 가정합니다.

docker-machine ssh default

그러면 boot2docker가 시작되고 명령줄에 docker 아이콘이 표시됩니다.그러면 사용할 수 있습니다.docker명령을 실행합니다.

행운을 빌어요 :)

1.- 바로 가기 위치 열기:

shorcut

2.- 오른쪽 클릭 및 속성을 클릭하고 "-Daemon 전환"을 운명에 추가합니다.

enter image description here

3.- 관리자 권한 부여, 고급 옵션:

enter image description here

4.- 창을 다시 시작합니다.

11의 11 편집, 윈도우 11, 윈도우 11, 편%APPDATA%\Docker\settings.json다음 값으로 변경한 다음 Docker Desktop을 다시 시작합니다(Hyper-V가 아닌 WSL2를 사용합니다).

enter image description here

다음 옵션 중 하나를 사용하여 문제를 해결해 보십시오.

옵션 A

Start-Service "Hyper-V Virtual Machine Management"
Start-Service "Hyper-V Host Compute Service"

또는

옵션 B

  1. "Windows 보안" 열기

  2. "App & Browser control" 열기

  3. 하단의 "보호 설정 이용"을 클릭합니다.

  4. "프로그램 설정" 탭으로 전환

  5. "C:\"를 찾습니다.목록에서 WINDOWS\System32\vmcompute.exe"를 선택하고 확장합니다.

  6. 편집을 클릭합니다.

  7. 아래로 스크롤하여 "Code flow guard(CFG)"로 이동하고 "Override system settings(시스템 설정 재지정)"의 선택을 취소합니다.

  8. vmcompute를 powershell "net start vmcompute"에서 시작합니다.

  9. 그런 다음 시스템을 다시 시작합니다.

Docker 버전 19.03.12와 Windows 10에서도 동일한 오류가 발생했습니다.다음 단계를 수행하여 문제를 해결했습니다.다른 사람들에게 도움이 되길 바랍니다.

  1. Windows 시작 -> 검색 상자로 이동합니다(검색하려면 여기를 입력하십시오).'서비스'를 입력합니다.나열된 항목 중 서비스 앱을 클릭합니다.
  2. 이제 Services(서비스) 창에서 'Docker Desktop Service(도커 데스크톱 서비스)'를 검색합니다.마우스 오른쪽 버튼을 클릭하고 서비스를 시작합니다.상태를 '실행 중'으로 변경해야 합니다.
  3. 2단계에서 '의존성 서비스를 시작하지 못했습니다'와 같은 오류가 표시되면 모든 종속성 서비스를 시작합니다.저는 '서버'라는 서비스를 시작해야 했습니다.
  4. 바탕 화면에서 'Docker Desktop' 아이콘을 두 번 클릭합니다.이제 시스템 트레이에 'Docker Desktop is running'이 표시됩니다.
  5. 이제 명령 프롬프트 또는 PowerShell에서 'docker version' 명령을 실행합니다.깨끗한 출력을 제공해야 합니다.
  6. 5단계에서 문제가 발생하면 관리자로 명령 프롬프트 또는 PowerShell을 실행합니다.

위의 해결 방법은 도커가 이미 설치되어 있고 시스템에서 Hyper-V/가상화가 활성화되어 있다고 가정합니다.

WSL 2 백엔드로 실행되는 Docker Desktop 4.7.1을 설치한 직후 터미널에서 동일한 문제가 발생했습니다.트레이 고래 아이콘도 표시되지 않았습니다.

저의 경우 문제는 이전에 이미 WSL 배포판(Ubuntu)이 설치되어 있었고 기본값이었습니다.WSL 2 백엔드가 포함된 Docker Desktop은 Docker-Desktop이라는 자체 배포를 설치합니다.또한 기본값이어야 합니다(적어도 다른 곳에서 구성되지 않은 경우).

저는 PowerShell: PowerShell에서 이 을 실행해야 했습니다.wsl --setdefault docker-desktop도커 서비스를 다시 시작합니다.여기서 해결책을 찾았습니다.

관리자 문제일 수 있으므로 아래 단계에 따라 도커를 설정합니다.

윈도우10

.

  1. 도커에 로그인한 후 도커 허브에서 도커 데스크톱을 다운로드합니다.Docker Desktop Installer.exe파일이 다운로드됩니다.
  2. 를 설치합니다.Docker Desktop Installer.exe용사를 Run as administrator-> 설치 중에 Windows 컨테이너를 표시합니다. 그렇지 않으면 Linux 컨테이너만 설치됩니다.로그아웃 후 로그아웃을 요청하고 로그인하면 메뉴에 도커 데스크톱이 표시됩니다.
  3. 설치 후 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 그룹 -> 도커-사용자 -> 멤버에 사용자 추가
  4. 다음을 사용하여 도커 데스크톱 실행Run as administrator enter image description here
  5. 알림 탭에서 도커 고래 아이콘 확인
  6. run command >docker version 문제없이 docker를 성공적으로 사용하였습니다.

만약 당신이 창문에 있다면 이것을 시도하세요.

 docker-machine env --shell cmd default 
 @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

시험 삼아

docker run hello-world

Hyper-V를 사용하도록 설정한 윈도우즈 10 Pro에 도커를 설치한 상태에서 윈도우즈 10에서 도커를 실행할 수 없는 경우 오류가 나타나듯이 도커 데몬이 시작되지 않습니다.

다음 단계는 도커를 성공적으로 시작하는 데 도움이 되었습니다.

  1. cmd에서 명령 사용(관리 모드)

    docker-machine restart default
    
  2. 그러면 다음과 같은 메시지가 표시됩니다.

    다열C:\User\\{User_name}\\.docker\machine\machines\default\config.json:
    지정한 파일을 찾을 수 없습니다.

  3. Windows 트레이(바탕 화면의 오른쪽 하단 모서리)에 있는 도커 아이콘으로 이동합니다.

  4. 도커아이콘 우클릭 > 설정 > 재설정 > 도커 재시작

    몇 분 정도 걸립니다.

  5. 그러면 다음 메시지가 표시됩니다.

    도커가 녹색 표시기와 함께 실행 중입니다.

참고: 시스템에서 이미 Docker 컨테이너를 실행하고 있는 경우에는 다음 단계를 수행하지 마십시오.기존 컨테이너를 분실할 수 있습니다.

enter image description here

이유: 명령으로 vmmem을 종료했기 때문에 한 가지 이유가 발생할 수 있습니다.

wsl --shutdown

해결 방법: 간단한 마우스 오른쪽 단추를 클릭하여 도커를 다시 시작하면 문제가 해결됩니다.

enter image description here

윈도우 10에서 도커를 시작했을 때도 같은 문제가 발생했습니다.나는 달릴 수 있었습니다.docker --version성공했지만 제가 뛰려고 했을 때 실패했습니다.docker pull docker/whalesay.
에 있는 된 많은 과 같은 단계를 때의 문제는 되었습니다.
1.1로 합니다. 창에서 도커를 검색하고 관리자 권한으로 도커 데스크톱을 실행합니다.
합니다. 이어야 합니다. 왼쪽 하단 도커 기호를 확인합니다. 도커가 실행 중이면 녹색이어야 합니다.
3. 실행되지 않으면 먼저 "wsl_update"를 설치합니다.
녹색으로 .4. 도커 데스크톱을 열고 도커 자격 증명으로 로그인하면 서버가 다시 시작되고 왼쪽 하단 로고가 녹색으로 바뀝니다.
중인지 PowerShell을 실행합니다.docker run hello-world.

가상화가 활성화되지 않은 것이 문제였습니다.

Windows 10에서: 작업 관리자 -> 성능 -> CPU로 이동하면 "가상화: 사용" 섹션으로 표시됩니다.

이 옵션이 표시되지 않으면 가상화가 사용하도록 설정되지 않았음을 의미합니다.

또 다른 흥미로운 점은 Hyper V를 사용하도록 설정해야 합니다.하지만 병렬 데스크톱을 사용할 때 Hyper V가 "진정으로 사용되도록" 하려면 "내재 가상화"를 사용해야 했습니다.따라서 윈도우즈가 VM인 경우 중첩된 가상화가 활성화된 Parallels(또는 사용 중인 항목)에 대한 설정을 확인하십시오.

Windows 10에 설치한 후에도 동일한 오류가 발생했습니다.그리고 다시 시작하려고 했지만 작동하지 않아 다음을 수행했습니다(도커에서 잠시 작업한 경우 새로 설치한 경우에는 권장하지 않습니다).

시스템 트레이에서 고래를 찾은 다음 마우스 오른쪽 단추를 클릭합니다.

설정 > 재설정으로 이동

출고 시 기본값으로 재설정

그리고 나서 저는 윈도우 10으로 웹사이트의 시작 도커 튜토리얼을 따를 수 있었고, 이제 그것은 매력적으로 작동합니다.

powershell 또는 Gitbash에서 C 드라이브를 열고 아래 명령을 실행합니다.

.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon

제 해결책은 아주 간단했습니다.도커가 윈도우 컨테이너 대신 리눅스 컨테이너를 실행하고 있다는 것을 알게 되었습니다.시스템 트레이에서 도커 아이콘을 마우스 오른쪽 단추로 클릭하고 Windows 컨테이너로 전환을 선택하여 Windows 컨테이너로 전환했습니다.

아폴더삭에서 합니다.%appdata%\DockerGithub 문제에 나타난 바와 같이.

빠른 액세스를 위해 Ctrl+R을 누르고 "%appdata%\"를 붙여넣습니다.Docker"를 선택한 다음 Enter 키를 누르면 AppData\Roaming\Docker에 있는 폴더(예: C:\Users\)가 열립니다.사용자 이름\AppData\Roaming\Docker)

Windows 7(윈도우 7)을 Docker Toolbox와 함께 사용하고 있으며 이를 수정하려면 Docker Quickstart Terminal을 엽니다.

도커 버전 클라이언트:버전: 17.05.0-ce API 버전: 1.29 Go 버전: go 1.7.5 Git commit: 89658be 빌드: 2017년 5월 5일 금요일 15:36:11 OS/Arch: windows/amd64

서버: 버전: 17.05.0-ce API 버전: 1.29(최소 버전 1.12) Go 버전: go 1.7.5 Git commit: 89658be 빌드:Thu May 4 2017 21:43:09 OS/Arch: linux/amd64 실험: false

저도 최근에 같은 문제가 있었습니다.문제는 보안 소프트웨어(Trendmicro)가 Hyperv 네트워크 인터페이스를 만들기 위해 도커를 차단하고 있다는 것입니다.또한 방화벽, AV 소프트웨어가 설치 또는 구성을 차단하지 않는지 확인해야 합니다.

Hyper-V에서 실행되던 가상 Ubuntu 인스턴스를 중지함으로써 오류가 해결되었습니다.

The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

일단 Ubuntu 인스턴스가 중지되고 Docker Desktop이 다시 시작되면, 제가 평소 사용하던 Docker 명령어가 잘 실행되었습니다.

PS: Docker Desktop이 Docker Hub에 사용자 피드백으로 보내겠다고 제안한 오류 로그 때문에 이것을 시도해 볼 생각이 있었습니다.로그는 내 기계에 RAM이 부족하다는 것을 나타내는 것처럼 보였고, Docker는 이 매우 간단한 이유로 실패했습니다.우분투 인스턴스를 죽이면 해결됩니다.

다른 답변이 없을 경우 다음을 시도합니다.터미널을 열고 다음을 실행합니다.

wsl -l -v 

'설치 중' 상태에서 도커-데스크탑이 남아 있는 경우 도커를 닫고 powershell을 관리자로 실행한 후 도커-데스크탑 등록을 취소합니다.

PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop

도커를 다시 시작하면 작동합니다.그렇지 않으면 먼저 도커를 제거한 다음 도커-데스크톱 등록을 취소하고 도커를 다시 설치해 보십시오.

출처: https://github.com/docker/for-win/issues/7295#issuecomment-645989416

WSL2 Linux-Kernel이 없는 경우 다운로드, 실행 및 재시작:

https://learn.microsoft.com/de-de/windows/wsl/wsl2-kernel

문제를 해결했습니다.

제 친구 중 한 명이 비슷한 문제를 겪고 있었는데, 우리는 이것을 시도했고 효과가 있었습니다.

Hyper-V는 "Windows 기능 켜기/끄기" 아래에 활성 상태로 나열되어 있지만 실제로 활성 상태는 아니었습니다.이는 PowerShell에서 시스템 정보를 실행하고 요구 사항이 충족된 것으로 나열된 것을 확인했을 때 명백해졌습니다(Hyper-V가 실제로 실행되는 것으로 예상되는 출력이 아님).단계:

  1. Windows 기능 설정 또는 해제를 엽니다.
  2. 이 작업을 수행하는 방법을 잘 모르면 https://www.howtogeek.com/250228/what-windows-10s-optional-features-do-and-how-to- [-the-on-the-or-off/][1]를 참조하십시오.
  3. Hyper-V 해제(확인란 선택 취소, 모든 하위 구성 요소가 해제됨)
  4. "확인"을 누릅니다. 그러면 컴퓨터가 재부팅됩니다.
  5. 컴퓨터가 다시 시작되면 "Windows 기능 설정 또는 해제"를 열고 Hyper-V를 다시 설정합니다.컴퓨터가 다시 재부팅됩니다.

이제 도커 헬로 월드 이미지를 실행하여 테스트할 수 있습니다.

PC에 도커 데스크톱을 설치한 후(윈도우즈 데스크톱).이 위치를 찾을 수 있습니다.실제로 무엇을 합니까?CLI를 통해 도커 데몬을 시작합니다.

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

Windows 10 컴퓨터에 설치하는 경우:검색을 설치하기 전에 Windows 기능을 검색하고 Windows 하이퍼바이저 플랫폼 및 Linux용 Subsystem을 확인합니다.

WSL 1 또는 2 설치는 필수이므로 도커에서 설치하라는 메시지를 표시하면서 설치합니다.

https://learn.microsoft.com/en-us/windows/wsl/install-win10

Windows 스토어에서 ubantu(버전 16, 18 또는 20)를 설치해야 합니다.

ubantu 버전 20

후에는 " 설후다같명은실수행있다습니할을령과음치"와 같은 할 수 있습니다.docker -version또는docker run hello-world리눅스 터미널에서.

비디오는 도움이 될 것입니다: https://www.youtube.com/watch?v=5RQbdMn04Oc&t=471s

Hyper-V를 사용하도록 설정했는지 확인하십시오. 제 경우 문제가 있었습니다.

언급URL : https://stackoverflow.com/questions/40459280/docker-cannot-start-on-windows