컨테이너란 무엇입니까?
컨테이너는 애플리케이션을 실행할 수 있는 격리된 환경입니다.
컨테이너, 애플리케이션 및 모든 종속 항목은 커널 운영 체제, CPU 및 메모리와 같은 호스트 리소스 조각으로 구성된 다음 다른 컨테이너 및 호스트 자체에서 논리적으로 분리됩니다.
아래 다이어그램은 동일한 하드웨어 및 커널 운영 체제를 사용하는 동일한 호스트 내에 빨간색 및 노란색 컨테이너가 공존하지만 외부 간섭 없이 앱을 실행할 수 있도록 개별 공간 내에 포함되어 있는 방법을 보여 줍니다.
해당 하드웨어에 설치된 동일한 하드웨어 및 운영 체제가 각 컨테이너에서 발생하는 동작과 상관없이 자체 앱 및 서비스를 실행할 수 있는 방법을 확인합십시오.
Windows Server에서 컨테이너를 만들고 실행하는 방법
컨테이너는 Linux, Windows 및 Mac 운영 체제와 같은 다양한 플랫폼에서 실행할 수 있습니다. 그러나 이 문서/데모에서는 Windows Server에서 컨테이너를 실행하는 방법을 중점적으로 다룹니다.
WAC(Windows Admin Center) 또는 Visual Studio를 포함하여 Windows 컨테이너를 사용하는 여러 가지 방법이 있습니다. 그러나 이 문서/데모에서는 Docker가 사용됩니다.
Docker는 애플리케이션, 모든 종속성 및 구성 정보를 컨테이너라는 단일 패키지로 결합하는 데 사용할 수 있는 Platform as-a-Service 제품입니다. 그런 다음 Docker를 사용하여 해당 컨테이너를 전달, 실행 또는 삭제할 수 있습니다.
다음 단계는 Windows Server 2022를 새로 설치할 때 수행되었습니다.
아래의 외부 링크에서 Windows Server에서 컨테이너를 실행하기 위한 필수 구성 요소 목록을 찾을 수 있습니다.
시작하기: 컨테이너를 위해 Windows 준비
Docker를 사용하여 Windows Server에서 컨테이너를 만들고 실행하는 단계는 다음과 같이 요약할 수 있습니다.
1. Docker 설치
PowerShell에서(관리자 권한으로 실행) 다음을 입력합니다.
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
프롬프트에서 "
Y"를 입력하여 NuGet 설치를 확인합니다.
동일한 PowerShell 세션에서 다음을 입력합니다.
Install-Package -Name Docker -ProviderName DockerMsftProvider
패키지를 신뢰하려면 프롬프트에 "
Y"를 입력합니다.
동일한 PowerShell 세션에서 다음을 입력합니다.
restart-computer
2. Docker 파일 생성 및 컨테이너 이미지 다운로드
관리자 권한의 PowerShell 세션에서 루트 디렉토리로 전환하고 다음을 입력하여 새 폴더를 만듭니다.
cd\
mkdir Containers
cd Containers
동일한 PowerShell 세션에서 Docker 파일을 만들고 다음을 입력하여 편집합니다.
New-Item dockerfile
(파일 확장자 없음)
notepad dockerfile
메모장 텍스트 편집기에서 다음 3줄을 입력한 다음 dockerfile을 저장하고 닫습니다.
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Powershell로 돌아가서 C:\Containers 컨텍스트에 있는 것을 확인하고 n html 파일을 만든 후 다음을 입력하여 편집합니다.
New-Item index.html
notepad index.html
메모장 텍스트 편집기에서 다음 세 줄을 입력한 다음 index.html 파일을 저장하고 닫습니다.
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. 컨테이너를 빌드하고 실행합니다.
다시 PowerShell로 돌아가서 C:\Containers에 다음을 입력합니다.
Docker build -t webserver
Microsoft Container Registry에서 이미지가 다운로드될 때까지 기다린 후 다음을 입력합니다.
docker images
이제 다운로드된 이미지가 표시됩니다.
마지막으로 PowerShell 유형으로 다운로드한 이미지 템플릿을 사용하여 컨테이너를 실행하려면 다음을 입력합니다.
docker run --name container1 -d -p 80:80 webserver
마지막 줄은 준비된 웹 서버 이미지를 기반으로 container1이라는 컨테이너를 만들고 실행합니다. -d 스위치는 Windows가 백그라운드에서 컨테이너를 실행하도록 지시하고 -p는 호스트의 포트 80(HTTP)을 컨테이너의 포트 80으로 전달하도록 Windows에 지시합니다.
컨테이너를 테스트하려면 다음을 수행합니다.
호스트에서 웹 브라우저를 열고 localhost를 찾습니다(동일한 네트워크 세그먼트에 있는 다른 컴퓨터를 사용하여 컨테이너의 호스트 IP 주소 또는 컴퓨터 이름을 찾을 수도 있음).
앞서 만든 샘플 HTML 웹 페이지를 눌러야 합니다.
그러면 Windows Server 2022에서 Docker 컨테이너를 실행하는 방법에 대한 튜토리얼이 완료됩니다.