1
- FROM anapsix/ alpine-java:jdk8
1
+ FROM alpine:latest
2
2
3
- MAINTAINER Razvan Andrei Surdu <razvan.surdu @gmail.com>
3
+ MAINTAINER T.N.N <nissi.tafie @gmail.com>
4
4
5
- ENV GRADLE_VERSION 2.12
5
+ ARG user=jenkins
6
+ ARG group=jenkins
7
+ ARG uid=10000
8
+ ARG gid=10000
9
+
10
+ ENV GRADLE_VERSION 4.9
6
11
ENV GRADLE_HOME /usr/local/gradle
7
12
ENV PATH ${PATH}:${GRADLE_HOME}/bin
8
13
ENV GRADLE_USER_HOME /gradle
9
14
15
+ RUN apk update && apk add libstdc++ && rm -rf /var/cache/apk/*
16
+
17
+ # #################
18
+ ENV LANG C.UTF-8
19
+
20
+ RUN { \
21
+ echo '#!/bin/sh' ; \
22
+ echo 'set -e' ; \
23
+ echo; \
24
+ echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"' ; \
25
+ } > /usr/local/bin/docker-java-home \
26
+ && chmod +x /usr/local/bin/docker-java-home
27
+ ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk
28
+ ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
29
+
30
+ ENV JAVA_VERSION 8u181
31
+ ENV JAVA_ALPINE_VERSION 8.181.13-r0
32
+
33
+ RUN set -x \
34
+ && apk add --no-cache \
35
+ openjdk8="$JAVA_ALPINE_VERSION" \
36
+ && [ "$JAVA_HOME" = "$(docker-java-home)" ]
37
+ # #################
38
+
39
+ RUN apk update \
40
+ && apk add ca-certificates wget \
41
+ && update-ca-certificates
42
+
43
+ RUN apk add bash
44
+
45
+ RUN apk add --no-cache curl
46
+
47
+ RUN apk add --no-cache wget
48
+
10
49
# Install gradle
11
50
WORKDIR /usr/local
12
- RUN wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip && \
13
- unzip gradle-$GRADLE_VERSION-bin.zip && \
14
- rm -f gradle-$GRADLE_VERSION-bin.zip && \
15
- ln -s gradle-$GRADLE_VERSION gradle && \
16
- echo -ne "- with Gradle $GRADLE_VERSION\n " >> /root/.built
17
51
18
- RUN apk update && apk add libstdc++ && rm -rf /var/cache/apk/*
52
+ RUN curl -skL -o /tmp/gradle-bin.zip https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip && \
53
+ mkdir -p /opt/gradle && \
54
+ unzip -q /tmp/gradle-bin.zip -d /opt/gradle && \
55
+ ln -sf /opt/gradle/gradle-$GRADLE_VERSION/bin/gradle /usr/local/bin/gradle
56
+
57
+ ENV HOME /home/${user}
58
+
59
+ WORKDIR /home/${user}
60
+ RUN chown -R 10000:0 /home/${user} && \
61
+ chmod -R g+rw /home/${user}
62
+
63
+ RUN apk add --no-cache openrc \
64
+ && rm -rf "/tmp/" * \
65
+ && echo 'rc_provide="loopback net"' >> /etc/rc.conf \
66
+ && sed -i -e 's/#rc_sys=""/rc_sys="lxc"/g' -e 's/^#\( rc_logger="YES"\) $/\1 /' /etc/rc.conf \
67
+ && sed -i '/tty/d' /etc/inittab \
68
+ && sed -i 's/hostname $opts/# hostname $opts/g' /etc/init.d/hostname \
69
+ && sed -i 's/mount -t tmpfs/# mount -t tmpfs/g' /lib/rc/sh/init.sh
70
+
71
+ RUN apk update \
72
+ && apk add alpine-sdk bash gcc git libffi-dev musl-dev perl python3 python3-dev sshpass openssh libressl-dev \
73
+ && pip3 install --upgrade pip \
74
+ && pip3 install ansible
75
+
76
+ # ############## KUBECTL ##############
77
+ # Metadata
78
+ LABEL org.label-schema.vcs-ref=$VCS_REF \
79
+ org.label-schema.vcs-url="https://github.com/lachie83/k8s-kubectl" \
80
+ org.label-schema.build-date=$BUILD_DATE \
81
+ org.label-schema.docker.dockerfile="/Dockerfile"
82
+
83
+ ENV KUBE_LATEST_VERSION="v1.13.1"
84
+
85
+ RUN apk add --update ca-certificates \
86
+ && apk add --update -t deps curl \
87
+ && curl -L https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
88
+ && chmod +x /usr/local/bin/kubectl \
89
+ && apk del --purge deps \
90
+ && rm /var/cache/apk/*
91
+ # ###################################
92
+
93
+ RUN apk add docker
94
+
95
+ RUN pip3 install docker-compose
96
+
97
+ RUN rc-update add docker boot
19
98
20
99
RUN mkdir -p /gradle && mkdir -p /app
21
- VOLUME /gradle /app
22
100
23
- WORKDIR /app
24
- # Define default command.
25
- CMD ["bash" ]
101
+ RUN adduser -u 10000 -D -G root -g 'Linux User named' -s /sbin/nologin -D jenkins
102
+
103
+ VOLUME /var/run/docker.sock:/var/run/docker.sock
104
+
105
+ ADD entrypoint.sh /usr/local/bin/entrypoint.sh
106
+
107
+ RUN chmod 777 /usr/local/bin/entrypoint.sh
108
+
109
+ USER root
110
+
111
+ ENTRYPOINT ["sh" , "/usr/local/bin/entrypoint.sh" ]
0 commit comments