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에서 확인 가능합니다.