도커 이미지 만들기 - 우분투 컨테이너 비트코인 개발 환경

in #kr7 years ago

DOCKER UBUNTU 이미지에 비트코인 소스 설치 및 컴파일 빌드 환경을 구성한 이미지를 만들어 보겠습니다.

저는 샘플로 도커 이미지를 비트코인 오픈 소스를 설치하고 컴파일 할 수 있는 이미지를 생성하지만 이 글을 참고로 필요한 이미지를 만들면 되겠습니다.

윈도우에서 도커 툴박스(Docker Toolbox)를 설치한 분은 설치 시 바탕화면에 생성된 "Docker Quickstart Terminal"를 실행하여 도커 "interactive shell"에서 작업을 진행하면 됩니다.

윈도우에서 도커 쉘을 실행하면 처음 디렉토리 위치는 "/c/Users/윈도우사용자계정"입니다.
c는 호스트(Windows)의 C 드라이브이고 그 뒤부터는 C 드라이브의 폴더 경로입니다.

도커는 도커 허브에서 배포하는 기본 이미지로부터 커스텀 이미지를 생성하게 됩니다.

파일명이 "Dockerfile"인 파일을 만들고 이 파일에 기본 이미지를 변경하는 스크립트를 작성하고 빌드하여 새로운 커스텀 이미지를 만듭니다.

도커 Interactive shell에서 다음과 같이 차례되로 입력하여 비트코인 개발용 이미지 "Dockerfile" 파일을 생성합니다.

-- C 드라이브에 docker 폴더 생성(실행 후 윈도우 탐색기를 열어서 확인해보면 C 드라이브에 docker 폴더 확인 가능)
$ mkdir /c/docker

$ cd /c/docker

$ vi Dockerfile (vi로 작성하기 힘들면 윈도우에서 메모장등으로 C:\Docker에 만들면 됩니다.)

다음의 내용으로 Dockerfile를 만듭니다. #은 주석으로 입력하지 않아도 되고 내용 설명을 위해 적어 놓았습니다.

ubuntu 이미지 16.04로부터 새로운 이미지를 만듭니다.

":16.04"를 생략하면 latesd 버전을 기본 이미지로 합니다.

FROM ubuntu:16.04

MAINTAINER는 이미지를 생성한 사람의 정보를 설정.

형식은 자유, 일반적으로 이름과 이메일로 합니다.

MAINTAINER Like Coffee Aroma <mystarlight.tistory.com>

src 디렉토리 생성 및 디렉토리 이동

RUN mkdir src
WORKDIR /src

우분투 패키지 갱신

RUN apt-get update

git 설치(github bitcoin core 오픈소스 다운로드 프로그램)

RUN apt-get install -y git

Bitcoin Core 소스 코드 및 라이브러리 다운로드

RUN git clone https://github.com/bitcoin/bitcoin.git

컴파일러 gcc 설치

RUN apt-get install -y build-essential automake pkg-config libevent-dev bsdmainutils

OpenSSL 설치

RUN apt-get install -y libtool autotools-dev autoconf libssl-dev

Boost 설치

RUN apt-get install -y libboost-all-dev

software-properties-common, python-software-properties 설치

RUN apt-get install -y software-properties-common python-software-properties

libdb 4.8 설치

RUN add-apt-repository -y ppa:bitcoin/bitcoin
RUN apt-get update
RUN apt-get install -y libdb4.8-dev libdb4.8++-dev

관련 라이브러리 설치

RUN apt-get install -y libminiupnpc-dev libqrencode-dev

GUI 라이브러리 설치

RUN apt-get install -y libqt5gui5 libqt5core5a libqt5dbus5
RUN apt-get install -y qttools5-dev qttools5-dev-tools
RUN apt-get install -y libprotobuf-dev protobuf-compiler


이렇게 작성한 후 저장을 해주세요.

도커 Shell에서 다음과 같이 명령을 실행하여 이미지를 생성합니다.
":" 뒤는 버전입니다. 명시적으로 버전을 1.0으로 한 것과 마지막 버전 태그를 명시한 것 이렇게 2개를 만듭니다.
$ docker build -t ubuntu-bitcoin-dev:1.0.0 -t ubuntu-bitcoin-dev:lastest .

$ docker images
만들어진 이미지를 확인 할 수 있습니다.

"Kitematic"는 프로그램을 재실행 해주면 My Images에서 확인 가능합니다.

docker.png