Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

"Docker Desktop is switching..." 메시지와 DockerDesktopVM CPU 소비 현상

그러니까, Docker Desktop의 모드를 "Linux Container" / "Windows Container" 간에 몇 번 스위칭을 했는데 어느 순간부터 아무리 기다려도 스위칭이 안 되고 "Docker Desktop is switching..."이라는 메시지만 나옵니다.

그 순간의 Hyper-V 관리자를 보면 다음과 같이 "DockerDesktopVM"의 CPU 소비가 높은 현상이 있는데요.

docker_vm_cpu_high_1.png

어쩔 수 없이 강제 종료 후 다시 Docker Desktop을 실행시켰는데 이번에는 "Docker Desktop is starting..." 문구가 보이고 마찬가지로 DockerDesktopVM의 CPU가 올라갑니다.

검색해 보면 다음의 글이 나오는데,

Windows 10 Docker processes consuming high CPU with no running containers
; https://github.com/docker/for-win/issues/1772

덧글 중에 보면,

Happyman0815 commented on Feb 22, 2019

I just un-checked "Expose Docker Deamon on TCP ... without TLS") via the Docker Desktop Settings GUI and then closed Docker Desktop.
vmmem.exe stopped consuming CPU after this step. It is not even appearing in the task manager anymore.


라는 글이 나오는데요. 설마 하면서도 별다른 대책이 없어 해봤는데... ^^; 정말 CPU high 문제가 사라지고 Docker Desktop도 정상적으로 구동이 되었습니다. 일단 저 옵션을 변경 후 제대로 동작하기만 하면 다시 옵션을 제거해도 그런 현상은 없었습니다.

단지, Docker Desktop이 좀 안정적이지 못한 부분이 있는 것 같은데, 문제 재현을 위해 "Linux Container" / "Windows Container" 간의 스위칭을 하다 보면 다시 그런 현상이 발생했고, 역시나 "Expose Docker Deamon on TCP ... without TLS" 옵션을 설정하면 정상적으로 구동이 되었습니다.




참고로, 저런 현상이 발생할 때는 Docker Desktop의 설정 화면을 열 수 없으므로 "Expose Docker Deamon on TCP ... without TLS" 옵션을 UI로 설정할 수는 없습니다. 대신 docker 관련 모든 프로세스를 (강제) 종료한 후, 다음의 경로에 있는 설정 파일을 열어,

%USERPROFILE%\AppData\Roaming\Docker\settings.json

이렇게 수정하면 됩니다. (반드시 Linux Container 모드로 시작하도록, TCP 2375를 활성화하는 방식이어야 합니다.)

...[생략]...
  "useWindowsContainers": false,
...[생략]...
  "exposeDockerAPIOnTCP2375": true,
...[생략]...




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/7/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...
NoWriterDateCnt.TitleFile(s)
12881정성태12/17/20217270개발 환경 구성: 618. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법 (2)
12880정성태12/16/20217062VS.NET IDE: 170. Visual Studio에서 .NET Core/5+ 역어셈블 소스코드 확인하는 방법
12879정성태12/16/202113301오류 유형: 774. Windows Server 2022 + docker desktop 설치 시 WSL 2로 선택한 경우 "Failed to deploy distro docker-desktop to ..." 오류 발생
12878정성태12/15/20218357개발 환경 구성: 617. 윈도우 WSL 환경에서 같은 종류의 리눅스를 다중으로 설치하는 방법
12877정성태12/15/20217028스크립트: 36. 파이썬 - pymysql 기본 예제 코드
12876정성태12/14/20216843개발 환경 구성: 616. Custom Sources를 이용한 Azure Monitor Metric 만들기
12875정성태12/13/20216557스크립트: 35. python - time.sleep(...) 호출 시 hang이 걸리는 듯한 문제
12874정성태12/13/20216573오류 유형: 773. shell script 실행 시 "$'\r': command not found" 오류
12873정성태12/12/20217693오류 유형: 772. 리눅스 - PATH에 등록했는데도 "command not found"가 나온다면?
12872정성태12/12/20217505개발 환경 구성: 615. GoLang과 Python 빌드가 모두 가능한 docker 이미지 만들기
12871정성태12/12/20217615오류 유형: 771. docker: Error response from daemon: OCI runtime create failed
12870정성태12/9/20216174개발 환경 구성: 614. 파이썬 - PyPI 패키지 만들기 (4) package_data 옵션
12869정성태12/8/20218448개발 환경 구성: 613. git clone 실행 시 fingerprint 묻는 단계를 생략하는 방법
12868정성태12/7/20217019오류 유형: 770. twine 업로드 시 "HTTPError: 400 Bad Request ..." 오류 [1]
12867정성태12/7/20216702개발 환경 구성: 612. 파이썬 - PyPI 패키지 만들기 (3) entry_points 옵션
12866정성태12/7/202114076오류 유형: 769. "docker build ..." 시 "failed to solve with frontend dockerfile.v0: failed to read dockerfile ..." 오류
12865정성태12/6/20216761개발 환경 구성: 611. 파이썬 - PyPI 패키지 만들기 (2) long_description, cmdclass 옵션
12864정성태12/6/20215227Linux: 46. WSL 환경에서 find 명령을 사용해 파일을 찾는 방법
12863정성태12/4/20217145개발 환경 구성: 610. 파이썬 - PyPI 패키지 만들기
12862정성태12/3/20215884오류 유형: 768. Golang - 빌드 시 "cmd/go: unsupported GOOS/GOARCH pair linux /amd64" 오류
12861정성태12/3/20218116개발 환경 구성: 609. 파이썬 - "Windows embeddable package"로 개발 환경 구성하는 방법
12860정성태12/1/20216215오류 유형: 767. SQL Server - 127.0.0.1로 접속하는 경우 "Access is denied"가 발생한다면?
12859정성태12/1/202112392개발 환경 구성: 608. Hyper-V 가상 머신에 Console 모드로 로그인하는 방법
12858정성태11/30/20219652개발 환경 구성: 607. 로컬의 USB 장치를 원격 머신에 제공하는 방법 - usbip-win
12857정성태11/24/20217082개발 환경 구성: 606. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법
12856정성태11/23/20218896.NET Framework: 1121. C# - 동일한 IP:Port로 바인딩 가능한 서버 소켓 [2]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...