github.com/yasker/longhorn-engine@v0.0.0-20160621014712-6ed6cfca0729/Dockerfile.dapper (about) 1 FROM ubuntu:16.04 2 3 # Setup environment 4 ENV PATH /go/bin:$PATH 5 ENV DAPPER_DOCKER_SOCKET true 6 ENV DAPPER_ENV TAG REPO 7 ENV DAPPER_OUTPUT bin 8 ENV DAPPER_RUN_ARGS --privileged 9 ENV DAPPER_RUN_ARGS --tmpfs /go/src/github.com/rancher/longhorn/integration/.venv:exec --tmpfs /go/src/github.com/rancher/longhorn/integration/.tox:exec 10 ENV DAPPER_SOURCE /go/src/github.com/rancher/longhorn 11 ENV TRASH_CACHE ${DAPPER_SOURCE}/.trash-cache 12 WORKDIR ${DAPPER_SOURCE} 13 14 # Install packages 15 RUN apt-get update && \ 16 apt-get install -y \ 17 cmake \ 18 curl \ 19 git \ 20 libglib2.0-dev \ 21 libkmod-dev \ 22 libnl-genl-3-dev \ 23 linux-libc-dev \ 24 pkg-config \ 25 psmisc \ 26 python-tox \ 27 qemu-utils 28 29 # Install Go 1.6 30 RUN curl -o go.tar.gz https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz 31 RUN echo 'e40c36ae71756198478624ed1bb4ce17597b3c19d243f3f0899bb5740d56212a go.tar.gz' | sha256sum -c && \ 32 tar xzf go.tar.gz -C /usr/local && \ 33 rm go.tar.gz 34 RUN mkdir -p /go 35 ENV PATH $PATH:/usr/local/go/bin 36 ENV GOPATH=/go 37 38 # Go tools 39 RUN go get github.com/rancher/trash 40 RUN go get github.com/golang/lint/golint 41 42 # Docker 43 RUN curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.9.1 > /usr/bin/docker && \ 44 chmod +x /usr/bin/docker 45 46 # Build TCMU 47 RUN cd /usr/src && \ 48 git clone https://github.com/yasker/tcmu-runner.git && \ 49 cd tcmu-runner && \ 50 git checkout ce3050a2b15830bafed0b21f488f2d26a86efb74 51 RUN cd /usr/src/tcmu-runner && \ 52 cmake . -Dwith-glfs=false && \ 53 make && \ 54 make install && \ 55 cp scsi_defs.h /usr/local/include && \ 56 cp libtcmu_static.a /usr/local/lib/libtcmu.a 57 58 # Install longhorn Docker driver 59 RUN GOPATH=/tmp/docker-longhorn-driver && \ 60 mkdir -p $GOPATH/src/github.com/rancher && \ 61 cd $GOPATH/src/github.com/rancher && \ 62 git clone https://github.com/rancher/docker-longhorn-driver.git && \ 63 cd docker-longhorn-driver && \ 64 git checkout 5b3d6b4004481a8151c60bed7e6b1471a4960419 && \ 65 go build -o /usr/local/bin/docker-longhorn-driver 66 67 # Install libqcow 68 RUN curl -sfL https://github.com/libyal/libqcow/releases/download/20160123/libqcow-alpha-20160123.tar.gz | tar xvzf - -C /usr/src 69 RUN cd /usr/src/libqcow-20160123 && \ 70 ./configure 71 RUN cd /usr/src/libqcow-20160123 && \ 72 make -j$(nproc) && \ 73 make install 74 75 VOLUME /tmp 76 ENV TMPDIR /tmp 77 ENTRYPOINT ["./scripts/entry"] 78 CMD ["build"]