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

이 문제가 발생하는 가장 일반적인 이유는 시스템에서 Docker 서비스가 실행되고 있지 않기 때문입니다. 그 외에도 Docker 소켓에 접근하는 데 필요한 권한이 없거나, Docker 설치 과정에 문제가 있거나, `docker.sock` 파일 자체에 문제가 있는 경우 등이 원인이 될 수 있습니다.
이제 가능한 원인들을 어느 정도 파악하셨으니, 실질적인 해결책으로 넘어가 보겠습니다.
1. systemctl을 사용하여 Docker 서비스를 시작합니다.
먼저 Docker가 실행 중인지 확인해야 합니다. `systemctl` 명령어를 사용하면 시스템 서비스를 시작하고 관리할 수 있습니다. Docker가 실행 중이 아니면 Docker 클라이언트가 메인 Docker 프로세스와 통신할 수 없어 오류가 발생합니다. `systemctl start docker` 명령어를 실행하면 Docker 서비스가 시작되어 문제가 해결될 것입니다.
- 터미널을 엽니다 먼저 다음 명령어를 실행하세요. 숨기기 해제 도커 :
sudo systemctl unmask docker
Docker 서비스가 마스크된 상태에서 시작하려고 하면 "Failed to start docker.service: Unit is masked."라는 오류 메시지가 표시됩니다. 마스킹은 서비스를 중지하는 강력한 방법으로, 서비스가 아예 시작되지 않도록 합니다. 시스템의 모든 유닛 파일 상태를 확인하려면 [방법/도구 이름]을 사용하세요. systemctl list-unit-files.
- Docker가 일단 되면 숨겨진, 당신은 할 수있다 Docker 데몬 시작 이 명령어를 사용하면 Docker 데몬이 이미지와 컨테이너를 관리하고 Docker API 요청을 처리하는 백엔드 서비스 역할을 합니다.
sudo systemctl 시작 도커

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

- 위 이미지에서 보시는 바와 같이, 이제 다음과 같은 것을 보실 수 있을 것입니다. Docker가 활성화되어 작동 중입니다..
2. "Docker pull 실패" 오류를 해결하고 Docker 서비스를 시작합니다.
Docker pull 작업이 실패할 경우, 불완전한 파일이 남아 Docker 데몬이 제대로 시작되지 못할 수 있습니다. 이러한 잔여 파일을 제거하면 Docker가 새롭게 시작될 수 있습니다. 이후 Docker 서비스를 재시작하면 파일이 손상되었거나 제대로 생성되지 않아 발생할 수 있는 문제를 해결하는 데 도움이 됩니다.
- 열다 주변부 다음 명령어를 입력하세요:
sudo systemctl unmask docker.service sudo systemctl unmask docker.socket sudo systemctl start docker.service

위 명령어를 실행한 후에도 오류가 계속 발생하면 다음을 수행해야 합니다. 지우다 디렉터리에 남아 있는 파일들 컨테이너그런 다음 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

3. Dockerd(도커 데몬) 서비스를 직접 시작합니다.
Dockerd는 백그라운드에서 실행되며 모든 Docker 작업을 처리하는 주요 (숨겨진) 프로그램입니다. 경우에 따라, 특히 `systemctl` 명령어가 시스템에서 작동하지 않을 때 Dockerd를 직접 실행하는 것이 도움이 될 수 있습니다.
- 열다 단말기 Docker 데몬을 직접 실행하려면 다음 명령어를 사용하십시오.
sudo dockerd

4. Service 명령어를 사용하여 Docker를 시작합니다.
Docker를 수동으로 시작하면 서비스가 실행 중인지 확인할 수 있습니다. `sudo service docker start` 명령어를 사용하여 Docker를 시작할 수 있으며, 이는 시스템 재시작 후 Docker가 자동으로 시작되지 않는 경우에 유용합니다.
- 터미널을 열고 다음 명령어를 실행하세요:
sudo service --status-all sudo service docker start

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

- Snap을 사용하여 Docker가 제대로 시작되었는지 확인하려면 다음 명령을 사용하십시오.
sudo 스냅 서비스
- 이로 인해 현재 운영 중인 모든 Snap 서비스를 나열하세요.:

- Docker가 아직 시작되지 않았다면 다음을 시도해 보세요. docker:home 플러그인 연결자동으로 연결되지 않는 경우가 있습니다. 그럴 때는 Docker를 다시 시작하세요.
- 터미널을 열고 다음 명령을 실행하세요.
sudo snap connect docker:home :home sudo snap start docker

6. 루트 권한이 없는 사용자를 위해 Docker를 시작합니다.
'unix:///var/run/docker.sock'에 접근할 권한이 부족한 경우에도 이 오류가 발생할 수 있습니다. Docker 호스트 변수를 로컬 네트워크 인터페이스의 2375번 포트를 사용하도록 설정하면 일시적으로 이 문제를 해결할 수 있습니다.
- 터미널을 열고 다음 명령을 실행하세요:
export DOCKER_HOST=tcp://localhost:2375

7. Docker를 다시 설치합니다.
때때로 Docker 설치 과정의 문제(예: 손상된 파일 또는 잘못된 설정)로 인해 Docker 데몬이 제대로 실행되지 않을 수 있습니다. Docker를 다시 설치하면 모든 것이 기본 상태로 복원되어 잘못되었거나 충돌하는 설정으로 인해 발생한 문제를 해결할 수 있습니다.
- Docker를 다시 설치한 후 다음 명령어를 사용하여 서비스가 실행 중인지 확인하십시오.
sudo 서비스 도커 시작
이렇게 하면 Docker가 실행되어, 특히 컴퓨터를 재시작한 후나 Docker가 자동으로 실행되지 않을 때와 같이 프로그램이 활성화되지 않아 발생하는 문제를 해결하는 데 도움이 됩니다.
- Docker 데몬은 모든 컨테이너와 이미지를 제어하므로, 데몬이 실행 중인지 확인하면 Docker 클라이언트와 데몬 간의 연결이 복원되어 서비스 중단이나 비활성으로 인한 오류를 해결할 수 있습니다.






댓글이 닫혀있다.