-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathDockerfile
66 lines (43 loc) · 2.3 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
From alpine:3.7
ENV GOPATH /go
ENV GOLANG_VERSION 1.16.15
ENV GOLANG_SRC_URL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz
ENV GOLANG_SRC_SHA256 90a08c689279e35f3865ba510998c33a63255c36089b3ec206c912fc0568c3d3
ENV TERRAFORM_VERSION 0.15.5
ENV TERRAFORM_IBMCLOUD_VERSION 1.38.0
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
RUN set -ex \
&& apk update \
&& apk add --no-cache ca-certificates \
&& apk add --no-cache --virtual .build-deps \
&& apk add bash gcc musl-dev openssl zip make bash git go curl \
&& curl -s https://raw.githubusercontent.com/docker-library/golang/221ee92559f2963c1fe55646d3516f5b8f4c91a4/1.9/alpine3.7/no-pic.patch -o /no-pic.patch \
&& cat /no-pic.patch \
&& export GOROOT_BOOTSTRAP="$(go env GOROOT)" \
&& wget -q "$GOLANG_SRC_URL" -O golang.tar.gz \
&& echo "$GOLANG_SRC_SHA256 golang.tar.gz" | sha256sum -c - \
&& tar -C /usr/local -xzf golang.tar.gz \
&& rm golang.tar.gz \
&& cd /usr/local/go/src \
&& patch -p2 -i /no-pic.patch \
&& ./make.bash \
&& rm -rf /*.patch \
&& apk del .build-deps
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
WORKDIR $GOPATH/bin
RUN wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip
RUN unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip
RUN chmod +x terraform
RUN rm -rf terraform_${TERRAFORM_VERSION}_linux_amd64.zip
RUN echo "Terraform installation done"
WORKDIR "/root"
RUN mkdir -p "/root/.terraform.d/plugin-cache/registry.terraform.io/ibm-cloud/ibm/${TERRAFORM_IBMCLOUD_VERSION}/linux_amd64"
RUN chmod -R 777 "/root/.terraform.d/plugin-cache/registry.terraform.io/ibm-cloud/ibm/${TERRAFORM_IBMCLOUD_VERSION}/linux_amd64/"
WORKDIR "/root/.terraform.d/plugin-cache/registry.terraform.io/ibm-cloud/ibm/${TERRAFORM_IBMCLOUD_VERSION}/linux_amd64"
ENV TF_PLUGIN_CACHE_DIR="/root/.terraform.d/plugin-cache"
RUN wget https://github.com/IBM-Cloud/terraform-provider-ibm/releases/download/v${TERRAFORM_IBMCLOUD_VERSION}/terraform-provider-ibm_${TERRAFORM_IBMCLOUD_VERSION}_linux_amd64.zip
RUN unzip terraform-provider-ibm_${TERRAFORM_IBMCLOUD_VERSION}_linux_amd64.zip
RUN chmod +x terraform-provider-ibm_*
RUN rm -rf terraform-provider-ibm_${TERRAFORM_IBMCLOUD_VERSION}_linux_amd64.zip
RUN echo "IBM Cloud Terraform Provider installation done"
WORKDIR "/root"