해당 포스트는 window 10버전 미만인분들한테 해당되는 내용입니다!!!
window 10 버전이라면 docker desktop으로 모든걸 해결가능하지만,
window 10이 아니라면 docker Quickstart terminal, Kitematic, Oracle VM Virtual Box 이렇게 3개를 설치하게 됩니다.
저는 윈도우 7이였습니다!
docker-compose.yaml 파일을 알맞게! 올바르게 작성을 하고 docker-compose up 을 했을 때 local host에 접속이 안되더라구요.
이때부터 고생길 + 뻘짓(?)의 서막이 시작되었죠...
localhost에 접속이 되지 않을 때 해결방법 등 구글링하고 윈도우 10으로 업데이트해보고 진짜 2주동안 이것저것 다해봤어요!.
윈도우 10으로 업데이트 하는 것도 쉬워보였지만 쉽지 않더라구요!
윈도우 10에서 다음과 같은 오류로 업데이트 못했어요! 클린부팅 해보라고 해서 클린부팅으로 설치해보고 임시파일 제거, 무슨 파일 제거 등등등 진짜 구글링해서 해보라고 한 건 다해본 것 같아요!
윈도우 10 업데이트 시도를 거짓말안하고 10번 넘게 한듯요..암튼 실패하고 윈도우 10업뎃되다가 8로 다운그레이드되더라구요!
어쨌든 7에서 8로 업그레이드 된거긴하네요...그러면 뭐해요....local host접속이 안되는데ㅠ
해결법 1.
docker-compose.yaml의 파일의 코드가 제대로 작성되어 있는지 확인 또 확인!!!
다른 문제가 아닌 docker-compose.yaml의 문제일 수 있으니 꼭 확인해보세요!
해결법 2.
docker-compose up 코드를 수행한 뒤 새로운 cmd창(git bash등)에서 docker container ps를 했을 때 새로운 컨테이너가 실행되고 있다고 나타나면 docker에서는 문제가 없고 코드에서도 문제가 없는 것입니다.
저도 2개의 container가 잘 실행되고 있으므로 docker에서 생긴 문제는 아닙니다!
해결법 3.
제가 해결한 방법입니다!
윈도우 10미만에서는 Docker Qucikstart Terminal, Kitematic, Oracle VM VirtualBox 이렇게 3개를 설치한다고 했죠!
따라서 local host 접속을 위해서 2개의 과정을 거치게되는데 이게 모두 같은 ports로 동일해야됩니다.
window 10에서는 docker-compose.yaml에서 작성하여 docker-compose up한 것이 local host로 바로 연결되지만,
window 10미만에서 docker-compose up - Oracle VM VirtualBox - localhost 이렇게 되기 때문에 2개의 과정을 거치게 됩니다.
저는 왜 접속이 안되는지 노트북 하드웨어적 문제인지, 아니면 코드의 문제인지, docker의 문제인지만 생각했지...Oracle VM VirtualBox 가 거기에 껴있을 줄은...아예 Oracle VM VirtualBox가 뭔지 몰랐어요.
간단히 요약하자면 VirtualBox는 윈도우10미만에서 윈도우 내에 가상환경을 만들고 접속하여 작업을 수행하기 위해 꼭 필요한 tool이고 중간과정이라고 생각하면 될 것 같아요! (중간과정이니까 가상환경할 때 꼭 필요하겠죠...!?)
따라서 다음의 2개의 ports가 일치해야 합니다!
1. docker-compose.yaml 에서 작성한 ports
2. Oracle VM VirtualBox에서 해당 port의 접속을 허가
위 2개의 해결법에서 아무런 문제없고 다 정상인데 왜 안되냐!하시면 이제 아래의 방법을 따라하시면 됩니다.
일단 Oracle VM VirtualBox를 관리자권한으로 실행해주세요! (관리자 권한으로 실행안해도 되겠지만 저는 항상 관리자권한으로 실행하는게 습관이 되었어요! 그게 좋다고 해서...ㅎ이유 기억안남...ㅎ)
STEP1.
실행을 하게 되면 다음과 같은 창이 뜨게 되고 그중에 현재 실행되고 있는 default가 하나 있을거예요!
STEP2.
실행 중인 default를 마우스 오른쪽 클릭한 후 설정을 눌러주세요! 그럼 다음과 같은 설정창이 나타납니다!
STEP3.
설정에서 네트워크 > 고급 > 포트포워딩 으로 들어갑니다.
거기에 보시면 docker-compose.yaml에서 내가 설정한 호스트포트와 게스트포트값이 없을 거예요!
그러면 오른쪽 추가를 통해 새로운 포트를 만들어서 IP는 127.0.0.1로 작성하거나 기존에 있는 호스트 IP와 동일하게 작성해주시고 내가 설정한 호스트 포트값과 게스트포트값을 적어주시고 확인 클릭하면 해결이 됩니다!
여기까지 설정하시고 다시 docker-compose up을 수행하시고 local host에 접속하시면 정상적으로 접속이 될 거예요!
이 문제를 해결하고 나니 제대로 접속이 되더라구요!!!!
docker 설치할 때, 함께 설치된 2가지 프로그램에 대해 조금이라도 알고 있엇더라면 좀 더 빨리 해결할 수 있지 않았을까 생각이 드네요ㅠㅠ (저건 뭐지...?하고 그냥 무시했는데.....)
'Data Engineering' 카테고리의 다른 글
파이썬 가상환경과 패키지관리 (0) | 2021.03.17 |
---|---|
CLI와 명령어 (0) | 2021.03.17 |
[과제 수행 과정] (0) | 2021.03.15 |
pip과 conda의 install 차이 (0) | 2021.03.13 |
Git 사용법 (0) | 2021.03.13 |
댓글