[Spring] "Cannot connect to the Docker daemon at unix:///Users/kyungmin/.docker/run/docker.sock. Is the docker daemon running?" 해결과정

Kyungmin·2024년 6월 18일
0

Spring

목록 보기
21/39

동시성 문제 해결을 위해 강의를 들으며 docker 를 실행하기전 docker version 을 터미널에 입력하였는데

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

이라는 메시지가 나왔다.

🛠️ 해결 과정

1.docker desktop 실행

  • 먼저 docker desktop 을 실행시키고 하지 않았기 때문에 desktop 을 실행시켰다.

2. docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=**** --name mysql mysql

  • docker 에 mysql 을 실행하기 위해 위와 같은 명령어를 입력하였다. 하지만..
kyungmin@kyungmin-MacBookPro ~ % docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=**** --name mysql mysql
docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "id". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'

이미 /mysql 이라는 이름이 사용중이라는 메시지가 나타났다. 언제 사용중이었는지는 모르겠지만

docker ps- a 

를 통해 기존의 모든 컨테이너를 확인한 후

docker rm id

기존에 있던 컨테이너를 삭제해주었다.
그럼 이제 해결이 되겠지? 하고 다시 run 명령어를 입력하였다.
하지만!

kyungmin@kyungmin-MacBookPro ~ % docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=**** --name mysql mysql
id
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use.

이와 같이 이미 3306 포트가 사용중이라는 메시지가 나왔다. 3306 포트를 사용중인지 확인을 해보자.

lsof -i :3306

이 명령어를 통해 3306 포트를 사용 중인 프로세스를 확인한다. 하지만 난 3306 포트를 사용중인 프로세스가 존재하지 않았다.. 그럼 왜일까

docker 재시작

docker restart

찾아보니 docker 를 재시작해보라는 블로그 글이 있었다. restart 명령어를 통해 docker 를 재시작시켜 보았다.

✅ 성공

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=**** --name mysql mysql

id
kyungmin@kyungmin-MacBookPro ~ % docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
id   mysql     "docker-entrypoint.s…"   16 seconds ago   Up 15 seconds   33060/tcp, 0.0.0.0:3307->3306/tcp   mysql

docker 를 재시작하고 다시 같은 방법으로 해보니 정상적으로 실행이 되었다. 이유는 '네트워크 포트 충돌' 이나 '도커 데몬의 상태' 등이 있다고 한다.

📺 desktop 화면


사진과 같이 desktop 에서도 정상적으로 실행이 된것을 확인할 수 있었다.


별거 아닌 문제였지만 적어두고 기억하자

profile
Backend Developer

0개의 댓글

관련 채용 정보