github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/Dockerfile (about)

     1  FROM ubuntu:14.04.1
     2  
     3  ## Environment setup
     4  ENV HOME /root
     5  ENV GOPATH /root/go
     6  ENV PATH /root/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
     7  
     8  RUN mkdir -p /root/go
     9  ENV DEBIAN_FRONTEND noninteractive
    10  
    11  ## Install base dependencies
    12  RUN apt-get update && apt-get upgrade -y
    13  RUN apt-get install -y git mercurial build-essential software-properties-common wget pkg-config libgmp3-dev libreadline6-dev libpcre3-dev libpcre++-dev
    14  
    15  ## Install Qt5.4 (not required for CLI)
    16  # RUN add-apt-repository ppa:beineri/opt-qt54-trusty -y
    17  # RUN apt-get update -y
    18  # RUN apt-get install -y qt54quickcontrols qt54webengine mesa-common-dev libglu1-mesa-dev
    19  # ENV PKG_CONFIG_PATH /opt/qt54/lib/pkgconfig
    20  
    21  # Install Golang
    22  RUN wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
    23  RUN tar -C /usr/local -xzf go*.tar.gz && go version
    24  
    25  # this is a workaround, to make sure that docker's cache is invalidated whenever the git repo changes
    26  ADD https://api.github.com/repos/ethereum/go-ethereum/git/refs/heads/develop file_does_not_exist
    27  
    28  ## Fetch and install go-ethereum
    29  RUN go get -v github.com/tools/godep
    30  RUN go get -v -d github.com/ethereum/go-ethereum/...
    31  WORKDIR $GOPATH/src/github.com/ethereum/go-ethereum
    32  RUN git checkout develop
    33  RUN godep restore
    34  RUN go install -v ./cmd/ethereum
    35  
    36  ## Run & expose JSON RPC
    37  ENTRYPOINT ["ethereum", "-rpc=true", "-rpcport=8545"]
    38  EXPOSE 8545
    39  
    40