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

docker - c:\programdata\docker\windowsfilter 폴더 정리하는 방법

Windows Containers 관련 폴더는 함부로 지우면 안 됩니다. 왜냐하면, 로컬 PC 환경과 밀접하게 연결되어 있기 때문에 자칫 잘못하면 로컬 PC 환경까지 깨지게 됩니다. 예를 들어, "c:\programdata\docker\windowsfilter" 폴더 같은 경우 임의로 삭제를 하는 경우 그와 연결된 사용자 바탕 화면의 데이터까지 모두 날아갑니다.

문제는, docker(및 그 이미지들)과 windows containers를 모두 삭제했는데도 여전히 "c:\programdata\docker\windowsfilter" 폴더는 수십 GB를 점유하고 있다는 점입니다. 함부로 지워서도 안되고, 그냥 두기도 뭐 하고. ^^;

다행히 검색해 보면 답이 나옵니다.

[Windows] windowsfilter folder impossible to delete 
; https://github.com/docker/docker/issues/26873

답변에 보면, 다음의 zap 프로그램을 소개합니다.

jhowardmsft/docker-ci-zap
; https://github.com/jhowardmsft/docker-ci-zap

아쉽게도 빌드된 유형이 아니고 Go 언어로 된 소스 코드라서 문제가 복잡합니다.

우선 Go 컴파일러부터 설치하는데,

Download the Go distribution
; https://golang.org/doc/install

설치 프로그램에서 c:\go\bin에 대한 환경 변수 등록을 해주긴 하는데 시스템에 변경 사항을 알리는 기능이 없어서 수작업으로 다시 시스템 환경 변수를 업데이트해주던가 아니면 다시 '로그인'을 해야 합니다.

그다음 gcc 컴파일러를 설치해야 하는데, Go 언어 자체에서는 필요 없지만 우리가 컴파일해야 할 zap을 위해서는 필요하기 때문에 다운로드 받아야 합니다. (Go 컴파일러가 64비트이므로 반드시 MinGW 64로 설치해야 합니다.)

MinGW-w64 - for 32 and 64 bit Windows 
; https://sourceforge.net/projects/mingw-w64/

설치 후, gcc.exe가 있는 "C:\Program Files\mingw-w64\x86_64-6.2.0-win32-seh-rt_v5-rev1\mingw64\bin" 폴더를 시스템 환경 변수의 PATH에 등록해 줍니다.

그다음, (제 경우에는) 다음의 폴더를 만든 후,

E:\gowork\src\github.com\stjeong\hello

환경 변수에 GOPATH=E:\gowork 설정을 추가하고 다음과 같이 컴파일 해주면 됩니다.

E:\gowork>go install github.com/stjeong/zap

그런데, 이렇게만 해주면 github.com/microsoft/hcsshim 등의 패키지가 없다고 나옵니다. 그럼, 그에 해당하는 경로로 go get 명령어를 해줍니다.

go get github.com/microsoft/hcsshim

컴파일이 되면 e:\gowork\bin 폴더에 zap.exe 파일이 생성됩니다. 관리자 권한의 cmd.exe 명령행을 실행하고 다음과 같이 수행해 주면,

zap -folder "C:\ProgramData\docker"

정상적으로 "C:\ProgramData\docker" 폴더 하위의 모든 내용들이 정리됩니다.

(혹시, 저 과정들이 싫다면 그냥 제가 첨부한 zap.exe 파일을 다운로드받아 실행하면 됩니다.)




참고로, 다음과 같은 오류가 발생하면,

E:\gowork>go install github.com/stjeong/zap
# github.com/microsoft/hcsshim
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

mingw 32비트가 설치한 경우입니다. gcc.exe가 32비트여서 go.exe의 64비트와 맞지 않아 발생하는 문제입니다.




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

[연관 글]






[최초 등록일: ]
[최종 수정일: 9/25/2016]

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

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  142  143  144  145  146  147  [148]  149  150  ...
NoWriterDateCnt.TitleFile(s)
1353정성태9/17/201225727.NET Framework: 337. Python의 생성기와 코루틴을 C#으로 표현하면. [2]파일 다운로드1
1352정성태9/13/201223771.NET Framework: 336. .NET Profiler가 COM 개체일까?
1351정성태9/13/201228212디버깅 기술: 49. windbg - .NET Framework 스레드 개체의 COM Apartment 유형 확인하는 방법
1350정성태9/12/201228886개발 환경 구성: 167. (실은) 무료가 아니었던 AWS EC2 서비스 [4]
1349정성태9/11/201260598VS.NET IDE: 74. Visual Studio의 '새 파일'을 UTF-8 인코딩으로 지정하는 방법 [4]
1348정성태9/11/201228060오류 유형: 164. Active Directory - Functional Level 승격이 안 되는 문제
1347정성태9/10/201230482Windows: 62. 윈도우 서버 2012 - Hyper-V 서버 마이그레이션 [1]
1346정성태9/10/201231351Windows: 61. 윈도우 서버 2012 - Active Directory 서버 마이그레이션
1345정성태9/10/201235385스크립트: 12. 파이썬 - Win32 DLL 연동 [2]
1344정성태9/10/201228523오류 유형: 163. .NET Framework 4.5 제거 후 Visual Studio 2010 실행 시 Unknown Error
1343정성태9/8/201242306스크립트: 11. 파이썬(Python) 윈도우 개발 환경 [7]
1342정성태9/6/201226467VS.NET IDE: 73. Visual Studio 2012 - XmlCodeGenerator 마이그레이션
1341정성태9/4/201235805Windows: 60. Hyper-V에서 RemoteFX 없이 DirectX 11 제공 [12]
1340정성태9/4/201227994개발 환경 구성: 166. DOS - ping 결과에서 평균 응답 시간값 추출하기 [3]
1339정성태9/4/201230430개발 환경 구성: 165. 새로운 Visual Studio 2012 원격 디버깅 툴 [5]
1338정성태9/4/201232232.NET Framework: 335. C# - (핸들을 이용하여) 모든 열린 파일을 열람 [6]파일 다운로드1
1337정성태8/30/201222028Phone: 7. 디버거로 실습해 보는 윈도우 폰의 Tombstone 상태파일 다운로드1
1336정성태8/30/201240080.NET Framework: 334. 스레드 비정상 종료로 발생하는 CLOSE_WAIT 소켓 상태 [2]파일 다운로드1
1335정성태8/30/201228822Windows: 59. Hyper-V Internal 네트워크 VM의 인터넷 접속
1334정성태8/29/201248102.NET Framework: 333. 코드로 재현하는 소켓 상태(FIN_WAIT1, FIN_WAIT2, TIME_WAIT, CLOSE_WAIT, LAST_WAIT) [6]
1333정성태8/27/201251552개발 환경 구성: 164. system32 폴더에 있는 파일의 권한 조정 [2]
1332정성태8/23/201223453Team Foundation Server: 48. TFS - Team Project Collection 이전하는 방법
1331정성태8/23/201226605오류 유형: 162. Database '...' already exists. Choose a different database name. (Microsoft SQL Server, Error: 1801)
1330정성태8/22/201227353Team Foundation Server: 47. 5인 이내의 팀, 또는 개인 로컬 소스 관리를 위한 무료 TFS Express
1329정성태8/21/201222836오류 유형: 161. Azure - Storage 삭제가 안되는 경우 [1]
1328정성태8/20/201233242개발 환경 구성: 163. IIS 7 - "MIME Types" 설정 아이콘이 없는 경우
... 136  137  138  139  140  141  142  143  144  145  146  147  [148]  149  150  ...