[docker] Docker는 Windows에서 시작할 수 없습니다.

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>



답변

에러 코드:

연결 중 오류 : Get
http : //%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version : open //./pipe/docker_engine : 시스템이 지정된 파일을 찾을 수 없습니다. Windows의 기본 데몬 구성에서 docker 클라이언트는 관리자 권한으로 실행되어야 연결됩니다. 이 오류는 docker 데몬이 실행되고 있지 않음을 나타낼 수도 있습니다.

해결책 :

1) Windows 7 명령 창 (cmd.exe)의 경우 관리자 권한으로 실행하여 cmd.exe를 열고 다음 명령을 실행합니다.

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

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

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

그런 다음 다음 명령을 실행하여 제어하십시오.

docker version

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


답변

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemonDocker CLI를 실행 하고 Linux 또는 Windows 컨테이너를 가리킬 수 있습니다 . 이것은 나를 위해 일했습니다.


답변

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

Windows의 기본 데몬 구성에서 연결하려면 Docker 클라이언트를 관리자 권한으로 실행해야합니다.

Docker 데몬을 전환하기 위해이 작업을 수행 할 수 있습니다.

Powershell 사용 :

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

또는 cmd 사용 :

  1. 관리자 권한으로 cmd 열기
  2. RUn 명령 : "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon


답변

나는 같은 문제가 있었다.

docker 데몬을 시작하면 문제가 해결되었습니다. Windows 키를 눌러 도커를 검색하고 “Docker Dekstop”을 클릭하십시오. 데몬은 1 분 안에 실행됩니다.
여기에 이미지 설명 입력


답변

나는이 질문이 오래 전이라는 것을 알고 있지만 적절한 설명과 해결책을 찾지 못 했으므로 내 대답이 유용하기를 바랍니다. 🙂

Windows에 Docker Toolbox를 설치한다고 가정하면 dockerdocker-machine명령을 모두 사용할 수 있습니다. 종종 사람들은 이들 중 하나를 사용할 때 혼란스러워합니다.

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

따라서 docker-machineWindows 컴퓨터에서 명령을 사용 하십시오. dockerVM 내부에서 명령을 사용하십시오 . 용도에 docker명령을, 예를 들어 docker ps, 당신도 열 수 있습니다 도커 빠른 터미널 또는 cmd를 / bash는 / PowerShell을 다음을 실행합니다 :

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

docker-machine ssh default

그러면 boot2docker 가 시작 되고 명령 줄에 도커 아이콘이 표시됩니다. 그런 다음 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가 활성화 된 Windows 10 Pro에 Docker를 설치했지만 여전히 Windows 10에서 Docker를 실행할 수없는 경우 오류에서 알 수 있듯이 Docker 데몬이 시작되지 않습니다.

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

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

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

    open C:\User\\{User_name}\\.docker\machine\machines\default\config.json:
    시스템이 지정된 파일을 찾을 수 없습니다.

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

  4. Docker 아이콘> 설정> 재설정> Docker 다시 시작을 마우스 오른쪽 단추로 클릭하십시오.

    몇 분 정도 걸립니다

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

    Docker가 녹색 표시기로 실행 중입니다.

참고 : 시스템에서 이미 Docker 컨테이너가 실행중인 경우 다음 단계를 따르지 마십시오 . 기존 컨테이너를 잃을 수 있습니다.

여기에 이미지 설명 입력