작성
·
48
0
윈도우 환경에서 wsl 안에서 사용하고 있는데 어떻게 조치해야될까요?
답변 3
0
안녕하세요 현재님 ! 질문 잘 주셨어요 ~
질문주신 내용 답변 드려 볼게요 ~
"윈도우 환경 wsl에서 실습을 진행 중이며, 컨테이너가 꺼지는데 어떻게 조치해야될까요 ?"
-> 우선 윈도우 환경 문제 보다는 Mysql 컨테이너가 띄워지는 과정 중
오류가 발생해서 종료가 되는 경우가 많아요 !
확인해보셔야 할 주요 포인트 몇 가지 정리드릴게요!
[1] MySQL 비밀번호 환경 변수 확인
컨테이너가 꺼지는 가장 흔한 원인이에요!
MYSQL_ROOT_PASSWORD 환경변수가 빠져있거나 잘못된 비밀번호를 입력하시면 MySQL이 실행되지 않고 바로 종료되요 !
[2] 로그확인
컨테이너가 왜 꺼졌는지 로그를 보면 정확히 알 수 있어요 !
docker logs 컨테이너명
여기서 Access denied, Missing MYSQL_ROOT_PASSWORD, Fatal error 같은
메시지가 있는지 확인해보세요 !!
[3] 포트 충돌 여부 확인
이미 3306 포트를 사용하는 다른 프로세스가 있는 경우 충돌로 실행이 안 될 수 있어요 !
로컬 MySQL이 이미 켜져 있는지 확인해보시는걸 추천드려요 !
마지막 팁을 드리면 컨테이너 상태를 아래 명령어로 확인해보시면, 어떤 상태인지 빠르게 파악 가능해요 !
docker ps -a
Exited 상태로 되어 있으면 로그부터 확인해보시는 게 디버깅 하시는데 많은 도움이 되실꺼에요 :)
그래도 해결이 안 된다면, docker run 명령어 전체와
docker logs 결과 캡처와 함께 추가 질문 남겨주세요 ~~
위 과정을 디버깅 해보시고도 어떤 게 문제인지 파악이 안 될 경우 또 질문 남겨주세요~~ 😊
안녕하세요 현재님! 질문 잘 해주셨습니다:)
추가적으로 질문 해주신 내용들에 답변 드려볼게요~~
"로그는 이렇게 나오는데 왜 이러는걸까요??"
-> 현재님이 겪고 계신 문제는 윈도우 WSL 환경에서 볼륨 마운트 시 권한(Permission) 문제때문입니다! 로그에서 [ERROR] [MY-010119] [Server] Aborting
와 Operation not permitted
메시지가 보이는 걸로 봐서 MySQL이 /var/lib/mysql
디렉토리에 데이터 파일을 생성하려고 하는데 권한이 없어서 실패하고 있네요! 해당 문제는 아래와 같이"WSL 내부 경로"를 사용하시면 해결이 될거에요 ~
mkdir -p ~/docker-mysql/mysql_data # WSL 내부에 디렉토리 생성
# WSL 내부 경로로 볼륨 마운트
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v ~/docker-mysql/mysql_data:/var/lib/mysql -d mysql
"현업에서 윈도우 환경이면 이러한 방법을 자주 사용하는 편인가요??"
-> 네 맞습니다 ! 현업에서 "WSL 내 디렉토리"를 사용해서 mac 환경과 유사하게 사용을 합니다 :)
위 방법으로 시도해보시고 또 문제가 생기시면 언제든지 질문 남겨주세요😊
0
0
안녕하세요, 인프런 AI 인턴입니다. 김현재님!
윈도우 환경에서 WSL(Windows Subsystem for Linux)을 사용하여 Docker를 실행할 때, 파일은 생성되지만 컨테이너가 곧바로 종료되는 문제를 겪고 계시는군요. 이 문제는 Docker와 WSL 설정 간의 호환성 문제, 혹은 Docker 이미지 자체의 설정 문제에서 비롯될 수 있습니다.
WSL2 설정 확인: WSL2와 Docker 간의 설정이 올바르게 되어 있는지 확인하세요. Docker Desktop 설정에서 WSL2 통합이 활성화되어 있는지, 그리고 원하는 배포판으로 설정되어 있는지 체크합니다.
로그 확인: docker logs your_container_id
명령어를 사용하여 컨테이너가 종료되는 이유를 확인하세요. 이는 문제 해결의 실마리를 제공할 수 있습니다.
Entry Point 설정: Dockerfile의 ENTRYPOINT나 CMD 명령어 설정에 문제가 없는지 체크하세요. 잘못된 커맨드가 실행되면서 컨테이너가 예기치 않게 종료될 수 있습니다.
파일 경로 및 권한: 파일과 연관된 경로나 권한에 문제가 없는지 확인합니다. WSL 환경에서는 윈도우 및 리눅스의 파일 시스템 차이로 인해 이러한 문제가 발생할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
입력한 명령어는 docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /mnt/c/KHJP/docker-mysql/mysql_data:/var/lib/mysql -d mysql
입니다.
실행 후 들어가면 경로안에 파일들은
이런식으로 생성이 되어있구요
로그는 이렇게 나오는데 왜 이러는걸까요??
저번에 이랬을 때 확인해보니 볼륨폴더라는 표현이 맞는지 모르겠지만
우분투 환경에 폴더를 만들어서 관리하면 된다고해서 gpt로 물어봐서 해보니 그때는 컨테이너가 강제 종료 되지 않고 정상적으로 실행이 됐습니다.
지금 따로 부트캠프에서 프로젝트를 진행중인게 있어서 윈도우 환경을 계속 사용할 것 같은데 현업에서 윈도우 환경이면 이러한 방법을 자주 사용하는 편인가요??
아무래도 수업이 mac 환경이라 우분투에 저장해서 진도를 따라가다보면 제가 헷갈리거나 할 것 같아서 걱정돼서 이것도 여쭤봅니다!
혹시 이러한 방법이 많이 사용되고 그렇게 어렵지 않다면 해당 방법으로 진행해보려구요
질문이 많았는데 답변 달아주시면 감사하겠습니다! 수업 잘 듣고있습니다!