본문 바로가기
42cursus/server

docker toolbox 설치에러 해결하기

by 인듯아닌듯 2020. 8. 27.

ft_server에서 배운 내용을 바탕으로 웹서버를 데스크탑에서 구현하고 싶었다.

window에서 docker를 이용하기위해서는 window의 버전에 따라 깔아야하는 설치파일이 달라진다.

window 10 home (특정 version)이하에서는 docker toolbox를 깔아야하고,

Windows 10 64-bit: Pro, Enterprise, or Education (Build 16299 or later). 에서는 docker for desktop을 깔아야한다.

내 컴퓨터에 알맞은 도커파일을 다운로드해야한다.

자신의 버전을 확인하는 방법

1. 설정->시스템->정보 에서 확인

2. cmd창에서 'ver' 명령어치기

3. etc...(googling)

Microsoft Windows 10[Version 10.0.18362.1016]이기 때문에 docker toolbox를 설치한다.

docker 공식홈페이지에서 docker toolbox.exe에 해당하는 최신 릴리즈버전을 다운로드받을 수 있고, 하라는대로 다운받으면된다.

https://docs.docker.com/toolbox/toolbox_install_windows/

다만 나는 docker quickstart terminal을 켜면 바로 실행되어야할 도커가 실행되지않았다.

오류메세지는 다음과 같다.

1. docker quickstart terminal 에러메세지

Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm default --type headless failed: VBoxManage.exe: error: The virtual machine 'default' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005).((0xc0000004))

2. cmd에서 "docker version"을 치면 나오는 메세지

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

구글링에서 가장 많이 추천하는 방법인 잦은 재설치와 재부팅에도 해결되지않았다. 그 이외에도 다양한 방법과 영향을 줄 수 있는 요소들이 몇가지 있었다.

1.가상화설정이 on인지 확인/ 2.여기에 원래 Hyper-V 라는 폴더가 있어야 함
3. 맨 밑줄에 hypervisorlaunchtype을 off해야한다는 이슈 / 4.virtualbox를 다운받으면서 생기는 어댑터

나와 비슷한 이슈를 가진 사람들의 문제를 해결해 준 경우도 있지만, 내 문제를 해결해주지 못했다.

1. Hyper-V는 window 10 Home 이상의 버전에서 이용하는 가상화머신인 듯하다(Desktop for docker에 해당함)

The Hyper-V rolecannotbe installed on Windows 10 Home.

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

 

Enable Hyper-V on Windows 10

Install Hyper-V on Windows 10

docs.microsoft.com

2. 중간에 virtualbox의 접속이 되지않을 때, virtualbox의 버전과 동일한 확장팩을 깔아서 설정에 넣어줘야한다는 것이 있어서 해주었다.

virtualbox : VirtualBox-6.1.12-139181-Win

파일명은  : Oracle_VM_VirtualBox_Extension_Pack-6.1.12


**해결**

에러처리는 물꼬가 트이듯이 한번에 해결되는 것 같다...

문제는 Fasoo DRM라는 프로그램이 깔려있고, 이 프로그램이 background에서 실행되고 있어서 Active X 사이에 충돌이 일어난 것 같다.

1. 결국은 깊게 들어가되, 원하는 정보만 얻으면 된다.

실제로 해결하게된 루트는 여러가지 에러코드를 많이 얻어야겠다는 생각으로 다양한 시도를 하다가, virtualbox에서 이전에는 접속이 되던 가상환경이 갑자기 가상환경으로도 접속이 안되는 것을 확인한다.(그전까지는 도커와 가상환경사이 연결문제라고 생각함)

그래서 가상환경에서 내보이는 에러를 가지고(docker quickstart terminal)에서 보여주는 에러와 같아서 진전이 없었다.

Unable to start VM: create: creating: Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm minikube --type headless failed:
VBoxManage.exe: error: The virtual machine 'minikube' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005).
More details may be available in 'C:\Users\pabitra_b.minikube\machines\minikube\minikube\Logs\VBoxHardening.log'

VBoxHardening.log 파일을 한번 보았을 때, 어쌤블리 형식의 코드들이 몇백줄 가까이 존재하여, 읽기를 포기하였었는데 마지막으로 시도해보자고 해서 들어간 뒤에 키워드를 error로 ctrl+F 하여 찾아보니,

세줄에서 error 메세지를 찾을 수 있었다.

db4.19d8: supR3HardenedMonitor_LdrLoadDll: error opening 'C:\Program Files\Fasoo DRM\f_xnMicroExt.dll': 0 (NtPath=??\C:\Program Files\Fasoo DRM
db4.19d8: supR3HardenedMonitor_LdrLoadDll: error opening 'C:\Program Files\Fasoo DRM\f_xnNXC.dll': 0 (NtPath=??\C:\Program Files\Fasoo DRM\f_xnNXC.dll; Input=C:\Program Files\Fasoo DRM\f_xnNXC.dll; rcNtGetDll=0x0
db4.19d8: supR3HardenedMonitor_LdrLoadDll: error opening 'C:\WINDOWS\system32\wintab32.dll': 0 (NtPath=??\C:\WINDOWS\system32\wintab32.dll; Input=C:\WINDOWS\system32\wintab32.dll; rcNtGetDll=0x0

Fasoo DRM 이라는 프로그램이 문제가 있다고 생각하여 프로그램을 제거하니 docker가 정상작동하였다.

Fasoo DRM은 프로그램 충돌을 많이 시키는 것으로 google에 서칭이 되고 있다.

gbworld.tistory.com/1494

 

fasoo drm 정체는? 삭제해도 될까?

fasoo drm은 소프트웨어 개발업체인 파수닷컴에서 개발한 기업형 DRM 솔루션입니다. 쉽게 보안이 중요한 각종 기관에서 다루는 문서의 자료 유출을 막기 위해 사용하는 문서보안 프로그램이라고 ��

gbworld.tistory.com

삭제가 되지 않을 때,

https://infogathering.tistory.com/59

 

fasoo.com 프로그램 정체&삭제 완벽정리!!

안녕하세요. 정보집합소입니다. 오늘 다룰 것은 fasoo.com에서 만든 프로그램입니다. 컴퓨터를 사용하시다 보면 나도 모르게 프로그램들이 이것 저것 깔려있어서 불편을 겪는 경우가 많습니다. 파

infogathering.tistory.com

2. 오픈채팅방 T.T님의 답변 :
ActiveX 프로그램에서 충돌시킨다하네요.구글서 1073741819 (0xc0000005) 로 검색해보세요.

에러코드가 길수록 복잡해 보이긴 하지만, 그만큼 친절한 에러코드가 없습니다.
에러코드가 짧을수록 원하는 키워드와 에러코드를 잘 검색해야 원하는 결과가 나오지만, 에러코드가 길면 길수록 에러코드만으로 원하는 결과가 자주 나와요. (윈도우가 특히 이런 특징을 가집니다)

실제로 에러코드의 의미를 찾아보니,

The return code0xC0000005is Windows-specific. It happens when your program crashes with an access violation.

 

느낀점:

오늘 하루는 트러블슈팅을 제대로 한 날이라고 생각된다!!!

트러블슈팅은 에러코드를 면밀히 분석하는데에서 시작된다.

나만큼이나 fasoo DRM 때문에 고통받는 사람이 많았다..

'42cursus > server' 카테고리의 다른 글

server_name  (0) 2020.08.06
ssl  (0) 2020.08.04
SSL, redirecct, autoindex, etc  (0) 2020.08.02
dockerfile  (0) 2020.07.30
서버 시행착오  (0) 2020.07.30