이 에러와 관련해서 이미 여러 블로그 포스팅이 있지만

한글로 된 포스팅 중에서 내 문제를 해결해준 경우는 없었다.

 

통상적으로 docker를 깔고 난 후

바로 docker ps 명령어 등을 하였을 때도 에러 없이 잘 나온다고 하면 다행인 것이지만,

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

혹은

Cannot connect to the Docker daemon at tcp:///localhost:2375. Is the docker daemon running?

와 같은 문제가 발생할 수 있다.


이 경우 아래 명령어들을 다 한 번씩 시도해보면 좋다.

우선, tcp localhost 2375가 나온다고 하면 DOCKER_HOST 환경변수가 알게 모르게 세팅되어 있는 경우가 있다. WSL 환경에서 도커를 세팅하고자 한다면 localhost:2375에 연결해두어야 하지만, 순수한 우분투 환경이라면 그렇게 하지 않아도 된다. 따라서 아래 명령어로 환경변수를 제거한다. 

unset DOCKER_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH

위 명령어를 수행한 후에 다시금 "docker ps" 를 실행해보자. 그렇게 하면 적어도 tcp 에러가 아니라 unix~~ 에러로 변경되었을 것이다. 이때 해결이 그냥 잘되었으면 끝.

 

이제 at unix:///var/.... 까지 왔다면 그 다음에는 dockerd 명령어를 실행해보거나 아니면 status restart를 해보면 된다.

다른 블로그에서는 그냥 systemctl start랑 enable을 하라고 하지만, 이미 잘 켜져 있는 상태에서는 의미가 없다.

나의 경우 start와 enable로는 해결이 안되었지만 restart로는 해결이 되었다.

$ sudo dockerd

혹은

$ sudo service docker restart

git clone XXX 를 할 때, 

Cloning into '...' ...
fatal: unable to access 'XXX': Problem with the SSL CA cert (path? access rights?)

와 같은 문제가 발생하곤 한다.

 

이러한 문제를 해결하기 위해서는

cacert.pem 파일을 다운로드 받고 (https://curl.haxx.se/docs/caextract.html) 혹은 아래의 wget 명령어를 이용한다.

그리고 해당 파일을 ~/.ssh 등에 옮긴다. 다른 곳에 옮겨도 되지만, 여기서는 ~/.ssh에 옮겨두겠다.

wget https://curl.haxx.se/ca/cacert.pem
mv cacert.pem ~/.ssh

cacert.pem 파일을 확보했다면 해당 파일의 주소를 기억하고, 아래의 명령어를 입력한다.

~/.ssh가 아닌 다른 곳에 파일을 복사해두었다면 그 주소로 변경해야 한다.

git config --global http.sslBackend "openssl"
git config --global http.sslCAInfo ~/.ssh/cacert.pem

+ Recent posts