programing

도커선.도커 예외:서버 API 버전을 가져오는 중 오류 발생

css3 2023. 6. 4. 22:30

도커선.도커 예외:서버 API 버전을 가져오는 중 오류 발생

이 모듈을 설치하고 싶은데 단계를 시도할 때 잘못된 것이 있습니다.docker-compose build ...

저는 도커 버전을 업데이트하고 도커를 다시 시작하려고 여러 번 시도했습니다.하지만 그것은 작동하지 않았다.

git clone https://github.com/uhh-lt/158.git
cd 158
docker-compose build
File "/home/ming/.local/bin/docker-compose", line 8, in <module>
    sys.exit(main())
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/main.py", line 67, in main
    command()
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/main.py", line 123, in perform_command
    project = project_from_options('.', options)
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/command.py", line 60, in project_from_options
    return get_project(
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/command.py", line 131, in get_project
    client = get_client(
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/docker_client.py", line 41, in get_client
    client = docker_client(
  File "/home/ming/.local/lib/python3.8/site-packages/compose/cli/docker_client.py", line 170, in docker_client
    client = APIClient(**kwargs)
  File "/home/ming/.local/lib/python3.8/site-packages/docker/api/client.py", line 188, in __init__
    self._version = self._retrieve_server_version()
  File "/home/ming/.local/lib/python3.8/site-packages/docker/api/client.py", line 212, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

2020-11-23 업데이트

두 분이 오류를 해결하는 데 도움을 주셔서 감사합니다!추천서를 시도했지만 도커에 연결할 수 없습니다.

ming@KITM-7664:~$ sudo /etc/init.d/docker start
[sudo] password for ming:
 * Starting Docker: docker                                                                                       [ OK ]

ming@KITM-7664:~$ which docker
/usr/bin/docker

ming@KITM-7664:~$ docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:02:52 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

ming@KITM-7664:~$ systemctl status docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

ming@KITM-7664:~$ systemctl start docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

ming@KITM-7664:~$ sudo /etc/init.d/docker start
 * Starting Docker: docker                                                                                       [ OK ]

ming@KITM-7664:~$ docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:02:52 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

시스템에서 도커가 실행되고 있습니까?구성이 도커 소켓을 통해 도커에 연결할 수 없을 때(연결을 위한 다른 방법이 정의되지 않은 경우) 이 오류가 발생할 수 있습니다.

Linux에서 실행 중인 경우 일반적으로systemctl status docker도커 데몬이 실행 중인지 확인하고systemctl start docker시작하기 위해.

어떤 OS와docker version사용하고 있습니까?

권한을 이렇게 설정합니다.

sudo chmod 666 /var/run/docker.sock

WSL(Windows Subsystem for Linux)사용하는 경우 Windows Docker Desktop(설정 -> 리소스 -> WSL 통합 -> 필요한 디스트리뷰터와의 통합 활성화)에서 필요한 디스트리뷰터에 대해 'WSL 통합'을 활성화해야 합니다.

WSL 통합

기본적으로 도커 명령은 루트 사용자 또는 도커 그룹의 사용자만 실행할 수 있으며 도커 설치 프로세스 중에 자동으로 생성됩니다.도커 명령을 실행할 때마다 sudo를 입력하지 않으려면 사용자 이름을 도커 그룹에 추가합니다.

sudo usermod -aG docker ${USER}

새 그룹 구성원 자격을 적용하려면 서버에서 로그아웃했다가 다시 로그인하거나 다음을 입력합니다.

su - ${USER}

계속하려면 사용자의 암호를 입력하라는 메시지가 표시됩니다.

sudo service docker start또는
sudo service docker restart

Windows Docker 데스크톱을 최신 버전으로 업데이트한 후 동일한 문제가 발생했습니다(20.10.2, build 2291f61) 이 업데이트로 인해 대부분의 프로젝트를 실행하는 가상 Ubuntu 18.04와의 WSL2 통합이 비활성화되었습니다.

저는 이렇게 해결했습니다.

  1. 도커 데스크톱 열기
  2. 설정 > 리소스 > WSL 통합으로 이동합니다.
  3. 배포가 사용 가능한지 확인합니다.
  4. 도커 다시 시작
  5. WSL2를 다시 시작할 필요 없이 도커가 다시 작동해야 합니다.

Docker Desktop 디스트리뷰터 통합

저도 비슷한 문제가 있었는데 도커 서버가 실행되지 않아 발생했습니다.앱을 시작하고 실행했습니다.docker-compose up그리고 잘 작동하기 시작했습니다.비슷한 상황에 처한 사람들에게 도움이 되길 바랍니다. :-)

도커 소켓을 사용할 수 있는 권한이 없습니다. 기본적으로docker그룹이 액세스할 수 있습니다.이 정보는 다음을 통해 확인할 수 있습니다.ls -l /var/run/docker.sock다음과 같은 내용이 인쇄됩니다.

srw-rw----. 1 root docker 0 Oct  4 18:04 /var/run/docker.sock

소켓에 액세스하고 도커를 사용하려면 다음 명령을 사용하여 도커 그룹에 자신을 추가합니다.

sudo usermod -a -G docker $(whoami)

그런 다음 로그아웃했다가 다시 로그인합니다.이제 도커가 작동합니다.

'docker Compose V2 사용' 확인란을 선택해야 합니다.저는 해결했습니다. 도커 데스크톱.

를 사용하는 docker-compose東京의 podman하여 이 ."docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))"

systemctl start podman.socket

또한 실행하려고 할 때 이 오류가 발생합니다.docker-compose그리고 도커 데스크톱이 꺼졌습니다. 도커 서비스가 다운되었기 때문이라는 것을 사용자에게 알리지 않는 도커 데스크톱의 버그라고 생각합니다. 올바른 오류를 던지는 도커 CLI와 마찬가지입니다.

C:\Users\x\IdeaProjects\mongo-exmple>docker pull node
Using default tag: latest
error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=node&tag=latest": open //./pipe/docker_engine: The system cannot find 
the file specified.

Linux(최소 Ubuntu 18.04.x)에서는 X 사용자 세션을 로그아웃했다가 다시 로그인해야 하는 경우가 있습니다.bash에서 로그아웃하거나 터미널 창에서 로그아웃한 후 다시 로그인하는 것만으로는 충분하지 않습니다. 예: https://askubuntu.com/questions/1161020/groups-and-groups-user-show-different-groups-dialout-is-missing

Mac OS와 Windows에서는 도커 응용 프로그램을 시작하기에 충분할 때가 있으며 이 오류는 시스템에서 도커 데몬의 손실로 인해 발생합니다.

제 문제는 도커 데스크톱에 로그인하지 않았다는 것입니다.

Win10의 Linux Subsystem에서 도커 컴포지트를 실행하는 동안 이 오류가 발생했습니다. 문제는 도커 데스크톱 응용 프로그램을 시작하는 것을 잊었다는 것입니다.

맥OS 도커 (도커 데스크톱) XCode에서 사용합니다.나중에 Python App(테스트 컨테이너)이 Docker와 통신할 수 없습니다(작동 중지됨). 중입니다./Applications/Docker.app/Contents/MacOS/uninstall 오픈 맥북에서 (images ...를 제거합니다.) M1 북습구 다니 었주쳐 그고제 다거시서 성이지리미고에도커맥열를어)

저는 OS 업데이트를 한 후 Mac에서 이런 일을 겪었습니다.

나는 달릴 수 있었습니다.docker명령줄에서 Docker Desktop이 실행되고 있지 않습니다. Docker Desktop을 시작하면 문제가 해결됩니다.

Windows(윈도우)에서 도커를 종료하고 다시 실행하면 도움이 될 수 있습니다.도커가 항상 제대로 시작되는 것은 아닙니다.

윈도우에서 ubuntu 22.04 wsl을 사용하다가 이 문제가 발생하여 이렇게 해결합니다.

sudo update-alternatives --config iptables

이것과 같은 것을 보여줄 것입니다.

 Selection    Path                       Priority   Status
------------------------------------------------------------
  0            /usr/sbin/iptables-nft      20        auto mode
* 1            /usr/sbin/iptables-legacy   10        manual mode
  2            /usr/sbin/iptables-nft      20        manual mode

그런 다음 1을 누릅니다.

Press <enter> to keep the current choice[*], or type selection number: 1

서비스를 사용하여 도커 시작

sudo service docker start

4에서 macOS 4.18을 합니다.Enable default docker socketSettings -> Advanced부분.

이 답변은 Docker를 완전히 처음 사용하고 Windows 10 OS를 사용하는 사용자만을 위한 것입니다.이전에 Docker Desktop을 설치하지 않은 것 같습니다.

1단계: 도커 웹 사이트, 이 링크로 이동합니다.

2단계: Windows용 Docker Desktop 다운로드

3단계: 다운로드한 .exe 파일을 실행합니다.

4단계: 시스템을 설치하고 다시 시작합니다.

5단계: 튜토리얼에 따라 도커에 대한 아이디어를 얻을 수 있습니다.

6단계: 마지막으로 도커 허브 개인아래 이미지를 참조하십시오. 계정에 등록합니다.

을 다시 하고 7단계: PowerShell을 합니다.docker-compose up

언급URL : https://stackoverflow.com/questions/64952238/docker-errors-dockerexception-error-while-fetching-server-api-version