Docker 좀더 활용하기

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

Docker 베이스 이미지 생성하기

보통 Dockerfile로 이미지를 생성할 때 Docker Hub에서 제공하는 공식 이미지를 기반으로 생성합니다. 이번에는 나만의 베이스 이미지를 생성하는 방법을 알아보겠습니다.

우분투 베이스 이미지 생성하기

우분투 리눅스 베이스 이미지를 생성해보겠습니다. 우분투 리눅스용 부트스트랩 바이너리 파일을 받아와야 하기 때문에 우분투 리눅스가 설치된 호스트에서 진행합니다.

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

$ sudo apt-get install debootstrap

debootstrap으로 우분투 trusty(14.04) 바이너리 파일을 받습니다. trusty는 우분투 리눅스의 코드네임입니다.

$ sudo debootstrap trusty trusty

deboostrap <코드네임> <디렉터리> 형식입니다.

우분투 리눅스 코드네임
우분투 리눅스의 버전별 코드네임 목록은 다음 URL에서 확인할 수 있습니다.

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

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

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

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

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

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

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED                  VIRTUAL SIZE
trusty              latest              5857e0393148        5 seconds ago            228.3 MB

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

$ sudo docker run -i -t --name hello trusty /bin/bash
root@158ea15ee10c:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"

코드네임은 trusty, 릴리스 버전은 14.04로 표시됩니다.


저작권 안내

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

Published

30 November 2014