본문 바로가기

Windows/Container

윈도우 서버 2016 컨테이너 이미지 생성

반응형

윈도우 서버 2016의 컨테이너 기능으로 좀 더 효율적으로 서비스 구축이 가능합니다.

기본적으로 제공되는 이미지를 사용하는 것은 물론이고 원하는 형태로 수정해서 사용이 가능합니다.

Dockerfile은 도커 이미지의 설계도입니다.

필요한 설정을 Dockerfile로 작성해서 원하는 형태의 컨테이너 생성이 가능합니다.

윈도우 서버 2016에 컨테이너 기능을 활성화하는 방법은 아래의 링크를 참조하면 됩니다.

2017/01/08 - [Windows/가상화] - 윈도우 서버 2016 도커(Docker) 컨테이너 시작하기


1. 도커로 IIS 컨테이너 시작하기

기본적으로 도커는 제공되는 이미지를 그대로 사용할 수 있습니다.

MS는 윈도우 IIS(Internet Information Services) 도커 이미지를 제공하고 있습니다.

docker run 명령어로 쉽게 컨테이너 생성이 가능합니다.

관리자 권한으로 파워쉘을 실행하고 아래 명령어를 입력합니다.

docker run -it -p 80:80 --name helloiis microsoft/iis cmd

이미지가 없는 상태에서 실행하면 자동적으로 이미지를 다운로드합니다.

윈도우 서버 코어 이미지의 크기로 인해 다운로드에 시간이 걸리는 편입니다.

IIS가 실행되면 윈도우 서버 2016의 IP로 웹페이지 연결이 가능합니다.

컨테이너를 실행한 파워쉘을 종료하고 다른 파워쉘을 관리자 권한으로 실행합니다.

docker exec -it helloiis powershell

웹페이지의 시작화면은 C:\inetpub\wwwroot\iisstart.htm 파일입니다.

기본 시작화면 파일을 삭제합니다.

del C:\inetpub\wwwroot\iisstart.htm

다음 명령으로 새로운 시작 페이지를 생성해줍니다.

echo "Hello World From a Windows Server Container" > C:\inetpub\wwwroot\index.html

다시 웹페이지를 접속하면 다음과 같이 표시됩니다.

확인이 완료되면 컨테이너의 파워쉘을 종료합니다.

exit

간단하게 윈도우 컨테이너 기능으로 IIS를 실행할 수 있습니다.


2. 변경내역이 반영된 이미지 생성

생성된 컨테이너 목록은 docker ps 명령어로 확인 가능합니다.

docker ps -a

docker commit 명령어로 변경내역이 반영된 이미지를 새롭게 생성합니다.

컨테이너를 생성할 때 --name으로 이름(helloiis)을 지정했기 때문에 해당 이름을 사용합니다.

docker commit helloiis modified-iis

다음과 같은 에러가 표시되면 도커를 중지시키고 커밋을 실행하면 됩니다.

Error response from daemon: Windows does not support commit of a running container

docker stop helloiis

컨테이너 변경내역이 반영된 새로운 이미지가 생성되며 아래 명령어로 이미지 목록 확인이 가능합니다.

docker images

새롭게 생성된 이미지는 컨테이너 생성에 사용이 가능합니다.

반응형