Docker 좀더 활용하기

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

CentOS 베이스 이미지 생성하기

이번에는 CentOS 베이스 이미지를 생성해보겠습니다. CentOS용 부트스트랩 바이너리 파일을 받아와야 하기 때문에 CentOS가 설치된 호스트에서 진행합니다. 배포판 버전은 CentOS 6.5 기준입니다.

먼저 부트스트랩 도구인 febootstrap을 설치합니다.

$ sudo yum install febootstrap

febootstrap으로 CentOS 6.5 바이너리 파일을 받습니다.

$ sudo febootstrap -u http://ftp.kaist.ac.kr/CentOS/6.5/updates/x86_64/ \
    centos65 centos65 http://ftp.kaist.ac.kr/CentOS/6.5/os/x86_64/

feboostrap <옵션> <저장소> <디렉터리> <미러 URL> 형식입니다.

바이너리 파일을 다 받았으면 docker import 명령으로 베이스 이미지를 생성합니다.

$ sudo tar -C centos65 -c . | sudo docker import - centos65

tar -C centos65 -c .는 centos65 디렉터리의 내용을 파일 하나로 합쳐서 stdout으로 출력하는 명령입니다. 이 출력 내용을 | (파이프)를 통해 docker import 명령에 전달합니다.

docker import <tar 파일 URL 또는 -> <이미지 이름>:<태그> 형식입니다. 다음과 같이 인터넷에 있는 파일을 사용할 수 있습니다. |(파이프)를 통해 데이터를 넘겨받는다면 -를 지정합니다.

$ sudo docker import http://example.com/centos65.tgz centos65

이미지 목록을 출력합니다.

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED                  VIRTUAL SIZE
centos65            latest              8da697bd579e        8 minutes ago            429.9 MB

centos65 이미지가 생성되었습니다. centos65 이미지로 컨테이너를 생성합니다. 컨테이너의 Bash 셸이 실행되면 /etc/centos-release 파일의 내용을 확인해봅니다.

$ sudo docker run -i -t --name hello centos65 /bin/bash
bash-4.1# cat /etc/centos-release
CentOS release 6.5 (Final)

배포판 버전이 CentOS release 6.5 (Final)로 표시됩니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

30 November 2014