본문 바로가기
IT만들기/가상머신

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

by 커피향처럼 2018. 3. 29.

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

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

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

윈도우에서 도커 쉘을 실행하면 처음 디렉토리 위치는 "/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:latest .

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

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


도커 우분투 컨테이너에서 비트코인 컴파일 빌드 순서입니다.

cd /src/bitcoin

./autogen.sh

./configure 

make


# 설치

make install 


# 클린

make clean; ./configure --enable debug; make -j 8


설치가 모두 완료되었으면 "bitcoind" 데몬 실행 등 할 수 있습니다.


댓글