성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Roll A Lisp In C - Reading ; https...
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Windows 10에서 경험해 보는 Windows Containers와 docker</h1> <p> 2016-08-02부터 시작된 윈도우 10 1주년 업데이트는 빌드 번호가 14393이고 이는 "Windows Containers" 요구 사항에 부합합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows container requirements ; <a target='tab' href='https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/system-requirements'>https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/system-requirements</a> </pre> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > OS Requirements: ... Windows 10 Professional and Enterprise (insiders build 14352 and up). </pre> <br /> 아쉽게도 "Supported OS images"에 보면, "Nano Server image"만 Windows 10에서 가능하다고 합니다. 제한된 환경이긴 하지만 docker를 이해하는 정도로 실습해 보는 용도라면 손색이 없습니다.<br /> <br /> 우선, Windows Containers는 격리 수준에 따라 다음과 같이 2가지로 나뉩니다.<br /> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> <span style='color: blue; font-weight: bold'>Windows Server Containers</span> - provide application isolation through process and namespace isolation technology. A Windows Server container shares a kernel with the container host and all containers running on the host. <br /> <br /> <span style='color: blue; font-weight: bold'>Hyper-V Containers</span> - expand on the isolation provided by Windows Server Containers by running each container in a highly optimized virtual machine. In this configuration the kernel of the container host is not shared with the Hyper-V Containers </div><br /> <br /> 간단히 정리하면 커널 수준까지의 격리를 원한다면 Hyper-V 컨테이너로 하면 되고, 사용자 모드의 격리만 하고 싶다면 Windows Containers를 사용하면 됩니다. 그 외에 알아두어야 할 용어라면 다음과 같은 정도가 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > <span style='color: blue; font-weight: bold'>Container Host</span>: - Physical or Virtual computer system configured with the Windows Container feature. 즉, 윈도우 PC에서 "Containers" 기능을 켜면 그것이 "Container Host"가 됩니다. <span style='color: blue; font-weight: bold'>Container OS Image</span>: - Containers are deployed from images. The container OS image is the first layer in potentially many image layers that make up a container. This image provides the operating system environment. 쉽게 생각해서 VM 만들 때 최초 Clean OS가 담긴 VHDX 파일이라고 보면 됩니다. <span style='color: blue; font-weight: bold'>Container Image</span>: - A container image contains the base operating system, application, and all application dependencies needed to quickly deploy a container. 이후 Container OS Image에 기반한 응용 프로그램 및 실행환경을 담은 이미지 파일입니다. <span style='color: blue; font-weight: bold'>Container Registry</span>: - Container images are stored in a container registry, and can be downloaded on demand. docker 이미지들이 담긴 저장소(repository)라고 보시면 됩니다. 우리가 잘 아는 docker 역시 저장소를 통해 다양한 Container 이미지들을 배포하고 있는데, 원한다면 사설 저장소도 구축해 운영하는 것이 가능합니다. <span style='color: blue; font-weight: bold'>Dockerfile</span>: - Dockerfiles are used to automate the creation of container images. 이미지에 기반한 실행 인스턴스 생성을 자동화하는 설정 파일 <span style='color: blue; font-weight: bold'>Container</span>: Container Image를 실행한 상태 </pre> <br /> 참고로, 다음의 글을 읽어보시면 docker에 대한 이해를 좀 더 하실 수 있을 것입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Docker 기본 사용법 ; <a target='tab' href='http://pyrasis.com/Docker/Docker-HOWTO'>http://pyrasis.com/Docker/Docker-HOWTO</a> </pre> <br /> 그리고, 이 글의 내용은 다음의 문서에서도 잘 나옵니다. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows Containers on Windows 10 ; <a target='tab' href='https://github.com/Microsoft/Virtualization-Documentation/blob/live/virtualization/windowscontainers/quick_start/quick_start_windows_10.md'>https://github.com/Microsoft/Virtualization-Documentation/blob/live/virtualization/windowscontainers/quick_start/quick_start_windows_10.md</a> </pre> <br /> <hr style='width: 50%' /><br /> <a name='containers'></a> <br /> 자, 그럼 ^^ 실습해 볼까요?<br /> <br /> 윈도우 10 (버전 1607이상)의 제어판에서 "Programs and Features"의 "Turn Windows features on or off" 링크를 누르면 다음과 같이 "Containers" 항목이 있는 것이 눈에 띕니다.<br /> <br /> <img alt='windows10_containers_1.png' src='/SysWebRes/bbs/windows10_containers_1.png' /><br /> <br /> 이렇게 활성화해도 되고, 다음과 같이 PowerShell을 이용하셔도 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Enable-WindowsOptionalFeature -Online -FeatureName containers -All </pre> <br /> 그리고, Hyper-V Containers 테스트를 위해 Hyper-V도 켜줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All </pre> <br /> 그다음, 재부팅 해주시고.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Restart-Computer -Force </pre> <br /> 마지막으로 docker를 설치해 줍니다. (사실 설치라기 보다는 실행 파일만 다운로드 받고 서비스 등록만 해주면 됩니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Invoke-WebRequest "https://get.docker.com/builds/Windows/x86_64/docker-latest.zip" -OutFile "$env:TEMP\docker-latest.zip" -UseBasicParsing Expand-Archive -Path "$env:TEMP\docker-latest.zip" -DestinationPath $env:ProgramFiles [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine) & $env:ProgramFiles\docker\dockerd.exe --register-service Start-Service docker </pre> <br /> 압축해제된 파일은 "docker.exe", "dockerd.exe", "docker-proxy.exe"에 불과하고 용량도 15MB 정도입니다.<br /> <br /> 그런데, (2016년 8월 6일 기준) 위의 stable 버전을 다운로드 받으면 이후에 실습할 "docker run" 동작이 안됩니다. 대신 다음과 같이 개발 중인 버전을 다운로드 받아야 합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Invoke-WebRequest https://master.dockerproject.org/windows/amd64/docker.exe -OutFile $env:ProgramFiles\docker\docker.exe Invoke-WebRequest https://master.dockerproject.org/windows/amd64/dockerd.exe -OutFile $env:ProgramFiles\docker\dockerd.exe </pre> <br /> 이에 대해서는 다음의 글을 참고하세요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows 10에서 Windows Containers의 docker run 실행 시 encountered an error during CreateContainer failed in Win32 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/11012'>http://www.sysnet.pe.kr/2/0/11012</a> </pre> <br /> 아무튼, ^^ 위의 과정을 마쳤으면 "서비스 관리자"에 "Docker Engine"이 서비스로 구동되고 있음을 확인할 수 있습니다.<br /> <br /> 이제 NanoServer ContainerImage를 다운로드 받겠습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker pull microsoft/nanoserver</span> Using default tag: latest latest: Pulling from microsoft/nanoserver cf62dbf6d334: Pull complete Digest: sha256:e161c43c9695a20d0b7271e7339bb041026db548667d2d9ecc04e8dc6fba9bed Status: Downloaded newer image for microsoft/nanoserver:latest </pre> <br /> 설치된 이미지 목록은 다음과 같이 확인합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker images</span> REPOSITORY TAG IMAGE ID CREATED SIZE microsoft/nanoserver latest 3a703c6e97a2 7 weeks ago 969.8 MB </pre> <br /> 참고로, 삭제는 rmi 옵션으로 할 수 있습니다. (실습해야 하니 삭제하지 마세요. ^^)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker rmi -f microsoft/nanoserver</span> Untagged: microsoft/nanoserver:latest Untagged: microsoft/nanoserver@sha256:e161c43c9695a20d0b7271e7339bb041026db548667d2d9ecc04e8dc6fba9bed Deleted: sha256:3a703c6e97a2e61046804e660009fa8eaaa60513d6f6a0ec68dae845c5b3929e Deleted: sha256:58684737b3d187dfa028519839976bc5393e6c7d838a78f1d3468a4c7ba75ad6 </pre> <br /> 이걸로 대충 준비는 끝입니다. 이제 여러분들은 격리된 공간에서 즉시 실행해 볼 수 있는 이미지가 준비된 것입니다. 일례로 다음과 같이 명령을 내릴 수 있습니다. (아래의 명령어 창은 반드시 '관리자 권한'으로 띄워야 합니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker run microsoft/nanoserver ipconfig</span> Windows IP Configuration Ethernet adapter Ethernet: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::9129:4559:c097:8839%4 IPv4 Address. . . . . . . . . . . : 172.27.185.104 Subnet Mask . . . . . . . . . . . : 255.240.0.0 Default Gateway . . . . . . . . . : 172.16.0.1 </pre> <br /> 위의 결과는, docker 내에서 microsoft/nanoserver 이미지를 구동시킨 후 인자로 함께 전달된 "ipconfig" 명령어를 그 환경 내에서 실행한 것입니다.<br /> <br /> 이 정도면 대충 docker가 어떤 것인지 감이 오시죠? ^^<br /> <br /> ipconfig은 단순히 실행 후 종료되는 유형이지만 cmd.exe처럼 interactive한 프로그램을 실행하고 싶다면 다음과 같이 "-it" 인자와 함께 실행합니다. 그럼, 실행 후 곧바로 바뀐 환경 내에서 명령어를 실행하는 것이 가능합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker run -it microsoft/nanoserver cmd</span> </pre> <br /> 화면으로 설명해 보면 다음과 같이 실행하는 경우,<br /> <br /> <img alt='windows10_containers_2.png' src='/SysWebRes/bbs/windows10_containers_2.png' /><br /> <br /> "-it" 옵션으로 인해 "cmd" 명령어가 실행되면서 같은 윈도우 창에서 다음과 같이 바뀝니다.<br /> <br /> <img alt='windows10_containers_3.png' src='/SysWebRes/bbs/windows10_containers_3.png' /><br /> <br /> 이렇게 되면 nano 서버가 어떤지 구경해 볼 수 있습니다. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\><span style='color: blue; font-weight: bold'>dir</span> Volume in drive C has no label. Volume Serial Number is 4864-3F22 Directory of C:\ 08/06/2016 12:58 AM <DIR> Program Files 08/06/2016 12:58 AM <DIR> Program Files (x86) 08/06/2016 12:58 AM <DIR> Users 08/06/2016 01:53 AM <DIR> Windows 0 File(s) 0 bytes 4 Dir(s) 21,209,399,296 bytes free </pre> <br /> 위의 경우 cmd.exe가 docker 내에서 실행 중인데요. 다른 명령어 창을 (관리자 권한으로) 열고 현재 docker에 의해 실행 중인 컨테이너 목록을 구하면 다음과 같은 결과를 얻습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>docker ps</span> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c394c80be213 <span style='color: blue; font-weight: bold'>microsoft/nanoserver "cmd"</span> 5 minutes ago Up 4 minutes sharp_leavitt </pre> <br /> cmd.exe 실행 환경을 종료하고 싶다면 command 창에서 exit 명령을 입력해서 종료할 수 있습니다.<br /> <br /> docker가 재미있는 것은, 기본적인 "Container OS Image"를 기반으로 층층이 또 다른 "Container Image"들을 누적시켜 적용할 수 있다는 것입니다. 이에 대해서는 "WindowsServerCore"를 다룰 수 있는 "Windows Server 2016 TP5" 편에서 좀 더 다뤄보겠습니다. ^^<br /> <br /> 전반적으로 Windows 10에서는 이런 방법이 있다고만 알아두시고 실제 작업을 진행하는 것은 좀 미루는 것이 좋을 듯 합니다. 이 글을 쓰면서 실습하는 중에도 "docker run"을 해보면 간혹 가다가 실행이 안되고 그냥 오류로 빠지는 경우도 있었습니다. 물론 제가 실습을 <a target='tab' href='http://www.sysnet.pe.kr/2/0/11012'>안정화 버전(1.12.0)이 동작하지 않아서 개발 버전인 1.13.0-dev</a>으로 했기 때문일 수도 있습니다. 아울러 아직 "Windows Server 2016"도 정식 버전이 나오지 않았기 때문에 향후로도 ContainerOSImage들은 숱하게 바뀔 수도 있을 것 같습니다.<br /> <br /> 참고로, Microsoft가 배포는 docker 이미지들은 다음과 같이 검색할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\WINDOWS\system32> <span style='color: blue; font-weight: bold'>docker search microsoft</span> NAME DESCRIPTION STARS OFFICIAL AUTOMATED microsoft/aspnet ASP.NET is an open source server-side Web ... 464 [OK] microsoft/dotnet Official images for working with .NET Core... 207 [OK] mono Mono is an open source implementation of M... 172 [OK] microsoft/azure-cli Docker image for Microsoft Azure Command L... 61 [OK] microsoft/iis Internet Information Services (IIS) instal... 25 microsoft/mssql-server-2014-express-windows Microsoft SQL Server 2014 Express installe... 23 microsoft/nanoserver Nano Server base OS image for Windows cont... 11 microsoft/windowsservercore Windows Server Core base OS image for Wind... 8 microsoft/dotnet-preview Preview bits for microsoft/dotnet image 5 [OK] microsoft/oms Monitor your containers using the Operatio... 5 [OK] microsoft/applicationinsights Application Insights for Docker helps you ... 3 [OK] microsoft/sample-nginx Nginx installed in Windows Server Core and... 2 microsoft/sample-node Node installed in a Nano Server based cont... 2 microsoft/sample-redis Redis installed in Windows Server Core and... 2 microsoft/dotnet35 2 microsoft/sqlite SQLite installed in a Windows Server Core ... 1 microsoft/sample-httpd Apache httpd installed in Windows Server C... 1 microsoft/sample-mongodb 1 microsoft/sample-mysql MySQL installed in Windows Server Core and... 1 microsoft/sample-dotnet .NET Core running in a Nano Server container 1 microsoft/sample-golang Go Programming Language installed in Windo... 0 microsoft/sample-python Python installed in Windows Server Core an... 0 microsoft/sample-ruby Ruby installed in a Windows Server Core ba... 0 microsoft/dotnet-nightly Preview bits of the .NET Core CLI 0 [OK] microsoft/sample-rails Ruby on Rails installed in Windows Server ... 0 </pre> <br /> 이건 docker에 업로드된 마이크로소프트의 이미지들이고, 여러분들도 docker와 유사한 repository를 만들어 사설 docker image 저장소를 만들 수 있습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> Hyper-V 컨테이너로 실행하는 것은 사실 간단합니다. 그냥 명령행에 "--isolation=hyperv" 인자만 주면 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > docker run <span style='color: blue; font-weight: bold'>--isolation=hyperv</span> microsoft/nanoserver ipconfig </pre> <br /> 그러니까, 격리 수준만 차이가 날뿐 "Windows Containers"를 사용하든 "Hyper-V Containers"를 사용하든 개발자 입장에서는 크게 신경 쓸 필요가 없는 것입니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 설치된 Image OS는 "C:\Users\All Users\docker" 폴더 하위에 위치합니다. "C:\Users\All Users\docker\image\windowsfilter" 폴더의 repositories.json을 보면 다음과 같이 확인할 수 있습니다.<br /> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> {"Repositories":{"<span style='color: blue; font-weight: bold'>microsoft/nanoserver</span>":{"microsoft/nanoserver:latest":"sha256:3a703c6e97a2e61046804e660009fa8eaaa60513d6f6a0ec68dae845c5b3929e","microsoft/nanoserver@sha256:e161c43c9695a20d0b7271e7339bb041026db548667d2d9ecc04e8dc6fba9bed":"sha256:3a703c6e97a2e61046804e660009fa8eaaa60513d6f6a0ec68dae845c5b3929e"}}} </div><br /> <br /> <hr style='width: 50%' /><br /> <br /> Container OS Image를 설치하는 방법으로,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows Containers Documentation ; <a target='tab' href='https://learn.microsoft.com/en-us/virtualization/windowscontainers/'>https://learn.microsoft.com/en-us/virtualization/windowscontainers/</a> </pre> <br /> 위의 문서 목차에서 "Manage Windows Containers" / "Container Images"의 내용은 Install-ContainerImage 명령어로 소개하고 있습니다.<br /> <br /> 그런데, 이 명령은 Windows 10에서 실행하면 다음과 같은 오류를 내뱉습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > PS C:\Windows\system32> <span style='color: blue; font-weight: bold'>Install-ContainerImage -Name NanoServer</span> Install-ContainerOSImage : The term 'Install-ContainerOSImage' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At C:\Program Files\WindowsPowerShell\Modules\ContainerImage\0.6.4.0\ContainerImage.psm1:502 char:5 + Install-ContainerOSImage -WimPath $Destination ` + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Install-ContainerOSImage:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException </pre> <br /> Install-ContainerOSImage 명령어는 Windows Server 2016에서는 지원하는데, Windows 10에서는 지원되지 않습니다. (향후 지원될지는 모르겠지만.)<br /> <br /> 같은 문서의 <a target='tab' href='https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server'>"Container Quick Start" / "2 - Windows Server Quick Start"</a> 문서는 OS Image 설치를 "docker pull"로 설명합니다. 그리고 그 명령어는 Windows 10에서도 사용할 수 있습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> docker 쪽 하위 폴더가 전통적인 260 길이 제한을 벗어나기 때문에 다루기가 좀 까다로울 수 있습니다. 따라서 아래의 내용에 따라,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > How to enable paths longer than 260 characters in Windows 10 ; <a target='tab' href='http://betanews.com/2016/05/29/long-paths-windows-10/'>http://betanews.com/2016/05/29/long-paths-windows-10/</a> </pre> <br /> gpedit.msc를 실행해 "Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem"의 "Enable NTFS long paths" 를 활성화하면 좋습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 마지막으로, "Mark Russinovich"의 멋진 구조 설명입니다. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Containers: Docker, Windows and Trends ; <a target='tab' href='https://azure.microsoft.com/ko-kr/blog/containers-docker-windows-and-trends/'>https://azure.microsoft.com/ko-kr/blog/containers-docker-windows-and-trends/</a> </pre> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
5594
(왼쪽의 숫자를 입력해야 합니다.)