해결된 질문
작성
·
303
·
수정됨
답변 2
1
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리겠습니다.
사용중인 포트 충돌로 인해 Docker 컨테이너가 시작되지 않는 문제를 겪고 계시군요. docker ps
명령어를 사용했을 때 실행 중인 이미지가 없는 상황과 관련하여, 주요 문제는 포트 3306
이 이미 다른 프로세스에 의해 사용 중이라는 것입니다. Docker에서 MySQL 컨테이너를 시작하려고 할 때 기본 포트인 3306
을 사용하려 하지만, 이 포트가 이미 사용 중이기 때문에 충돌이 발생하여 컨테이너가 실행되지 않습니다.
해결 방법은 다음과 같습니다:
1. netstat -anv | grep 3306
명령어를 이용하여 현재 3306
포트를 사용하고 있는 프로세스를 확인합니다. 이미 사용 중인 포트 때문에 컨테이너가 시작되지 않는 문제를 진단하는 데 도움이 됩니다.
2. 해당 프로세스를 종료하거나 다른 포트를 사용하도록 설정합니다. 만약 해당 프로세스가 중요한 서비스를 운영 중이라면, Docker 컨테이너의 MySQL 서비스가 다른 포트를 사용하도록 변경할 수 있습니다. 예를 들어, docker run
명령어에 -p 3307:3306
옵션을 추가하여 내부 3306
포트를 외부의 3307
포트에 바인딩하도록 설정할 수 있습니다.
Docker Desktop이나 homebrew를 통한 설치가 문제를 일으킨 것은 아닐 가능성이 높습니다. 주로 포트 충돌이 문제의 핵심인 경우가 대부분입니다.
또한, Docker Desktop 경고 메시지에 주의해 주세요. “Another application changed your Desktop configurations. This may cause unexpected behaviour and errors.“라는 메시지는 다른 애플리케이션이 Docker Desktop의 설정을 변경했다는 것을 의미합니다. 이는 예상치 못한 행동이나 오류의 원인이 될 수 있으니, “Re-apply configurations” 버튼을 클릭하여 원래 설정을 복구하는 것이 좋습니다.
추가적인 질문이 있으시다면 언제든지 질문해 주세요.
0
알함님 안녕하세요. docker ps 명령어는 현재 실행이 되고 있는 서비스들만 나타내는 명령어입니다.
mysql 은 생성은 되었지만 실행은 되지 않아서 그런듯합니다.
docker run 명령어를 통해 실행시켜주시면 정상적으로 표시될 듯합니다.