오류 메시지가 표시될 때Docker 데몬이 'unix:///var/run/docker.sock'에 연결할 수 없습니다.이는 일반적으로 `docker run` 또는 `docker ps`와 같은 명령이 작동하지 않음을 의미합니다. 결과적으로 Docker 컨테이너와 상호 작용할 수 없게 됩니다. 이 오류는 Docker 클라이언트가 컴퓨터에서 모든 Docker 작업을 처리하는 기본 프로그램인 Docker 데몬에 연결할 수 없기 때문에 발생합니다.

Docker 연결 오류

이 문제가 발생하는 가장 일반적인 이유는 시스템에서 Docker 서비스가 실행되고 있지 않기 때문입니다. 그 외에도 Docker 소켓에 접근하는 데 필요한 권한이 없거나, Docker 설치 과정에 문제가 있거나, `docker.sock` 파일 자체에 문제가 있는 경우 등이 원인이 될 수 있습니다.

이제 가능한 원인들을 어느 정도 파악하셨으니, 실질적인 해결책으로 넘어가 보겠습니다.

1. systemctl을 사용하여 Docker 서비스를 시작합니다.

먼저 Docker가 실행 중인지 확인해야 합니다. `systemctl` 명령어를 사용하면 시스템 서비스를 시작하고 관리할 수 있습니다. Docker가 실행 중이 아니면 Docker 클라이언트가 메인 Docker 프로세스와 통신할 수 없어 오류가 발생합니다. `systemctl start docker` 명령어를 실행하면 Docker 서비스가 시작되어 문제가 해결될 것입니다.

  1. 터미널을 엽니다 먼저 다음 명령어를 실행하세요. 숨기기 해제 도커 :
    sudo systemctl unmask docker

    Docker 서비스가 마스크된 상태에서 시작하려고 하면 "Failed to start docker.service: Unit is masked."라는 오류 메시지가 표시됩니다. 마스킹은 서비스를 중지하는 강력한 방법으로, 서비스가 아예 시작되지 않도록 합니다. 시스템의 모든 유닛 파일 상태를 확인하려면 [방법/도구 이름]을 사용하세요. systemctl list-unit-files.

  2. Docker가 일단 되면 숨겨진, 당신은 할 수있다 Docker 데몬 시작 이 명령어를 사용하면 Docker 데몬이 이미지와 컨테이너를 관리하고 Docker API 요청을 처리하는 백엔드 서비스 역할을 합니다.
    sudo systemctl 시작 도커

    Docker 서비스를 시작하세요

  3. Docker가 제대로 작동하는지 확인하세요.다음 명령어를 입력하세요. Docker 서비스의 현재 상태가 표시됩니다.
    sudo systemctl 상태 도커

    Docker 서비스 상태

  4. 위 이미지에서 보시는 바와 같이, 이제 다음과 같은 것을 보실 수 있을 것입니다. Docker가 활성화되어 작동 중입니다..

2. "Docker pull 실패" 오류를 해결하고 Docker 서비스를 시작합니다.

Docker pull 작업이 실패할 경우, 불완전한 파일이 남아 Docker 데몬이 제대로 시작되지 못할 수 있습니다. 이러한 잔여 파일을 제거하면 Docker가 새롭게 시작될 수 있습니다. 이후 Docker 서비스를 재시작하면 파일이 손상되었거나 제대로 생성되지 않아 발생할 수 있는 문제를 해결하는 데 도움이 됩니다.

  1. 열다 주변부 다음 명령어를 입력하세요:
    sudo systemctl unmask docker.service sudo systemctl unmask docker.socket sudo systemctl start docker.service

Docker 서비스를 시작하세요

위 명령어를 실행한 후에도 오류가 계속 발생하면 다음을 수행해야 합니다. 지우다 디렉터리에 남아 있는 파일들 컨테이너그런 다음 Docker를 다시 실행해 보세요. Docker 1.11 버전에 포함된 Containerd는 백그라운드에서 Docker 컨테이너를 직접 관리하는 데 도움이 됩니다.

  • 터미널을 열어둔 상태에서 다음 명령어를 실행하세요. 참고로, 다음 사항들이 필요합니다. 루트 사용자 암호:
    sudo su service docker stop cd /var/run/docker/libcontainerd rm -rf containerd/* rm -f docker-containerd.pid service docker start

Docker 서비스 재시작

3. Dockerd(도커 데몬) 서비스를 직접 시작합니다.

Dockerd는 백그라운드에서 실행되며 모든 Docker 작업을 처리하는 주요 (숨겨진) 프로그램입니다. 경우에 따라, 특히 `systemctl` 명령어가 시스템에서 작동하지 않을 때 Dockerd를 직접 실행하는 것이 도움이 될 수 있습니다.

  1. 열다 단말기 Docker 데몬을 직접 실행하려면 다음 명령어를 사용하십시오.
    sudo dockerd

Dockerd를 시작하세요

4. Service 명령어를 사용하여 Docker를 시작합니다.

Docker를 수동으로 시작하면 서비스가 실행 중인지 확인할 수 있습니다. `sudo service docker start` 명령어를 사용하여 Docker를 시작할 수 있으며, 이는 시스템 재시작 후 Docker가 자동으로 시작되지 않는 경우에 유용합니다.

  1. 터미널을 열고 다음 명령어를 실행하세요:
    sudo service --status-all sudo service docker start

Docker 서비스를 시작하세요

5. Snap을 사용하여 Docker 서비스 시작하기

Snap을 사용하여 Docker를 설치했다면 Snap에서 관리하는 Docker 서비스가 제대로 작동하는지 확인해야 합니다. Snap은 때때로 사용자가 직접 서비스를 시작하거나 연결해야 할 수 있습니다. `sudo snap start docker` 명령어를 사용하여 Docker 데몬이 예상대로 작동하는지 확인하십시오.

  1. 터미널을 열고 다음 명령어를 실행하세요. Docker 시작하기:
    sudo snap start docker

    Docker 시작하기

  2. Snap을 사용하여 Docker가 제대로 시작되었는지 확인하려면 다음 명령을 사용하십시오.
    sudo 스냅 서비스
  3. 이로 인해 현재 운영 중인 모든 Snap 서비스를 나열하세요.:
    스냅 서비스
  4. Docker가 아직 시작되지 않았다면 다음을 시도해 보세요. docker:home 플러그인 연결자동으로 연결되지 않는 경우가 있습니다. 그럴 때는 Docker를 다시 시작하세요.
  5. 터미널을 열고 다음 명령을 실행하세요.
    sudo snap connect docker:home :home sudo snap start docker

    Docker 시작하기

6. 루트 권한이 없는 사용자를 위해 Docker를 시작합니다.

'unix:///var/run/docker.sock'에 접근할 권한이 부족한 경우에도 이 오류가 발생할 수 있습니다. Docker 호스트 변수를 로컬 네트워크 인터페이스의 2375번 포트를 사용하도록 설정하면 일시적으로 이 문제를 해결할 수 있습니다.

  1. 터미널을 열고 다음 명령을 실행하세요:
    export DOCKER_HOST=tcp://localhost:2375

    Docker 호스트 내보내기

7. Docker를 다시 설치합니다.

때때로 Docker 설치 과정의 문제(예: 손상된 파일 또는 잘못된 설정)로 인해 Docker 데몬이 제대로 실행되지 않을 수 있습니다. Docker를 다시 설치하면 모든 것이 기본 상태로 복원되어 잘못되었거나 충돌하는 설정으로 인해 발생한 문제를 해결할 수 있습니다.

  1. Docker를 다시 설치한 후 다음 명령어를 사용하여 서비스가 실행 중인지 확인하십시오.
    sudo 서비스 도커 시작

    이렇게 하면 Docker가 실행되어, 특히 컴퓨터를 재시작한 후나 Docker가 자동으로 실행되지 않을 때와 같이 프로그램이 활성화되지 않아 발생하는 문제를 해결하는 데 도움이 됩니다.

  2. Docker 데몬은 모든 컨테이너와 이미지를 제어하므로, 데몬이 실행 중인지 확인하면 Docker 클라이언트와 데몬 간의 연결이 복원되어 서비스 중단이나 비활성으로 인한 오류를 해결할 수 있습니다.