Skip to content

Commit 0a82495

Browse files
author
Nissi Tafie
committed
Dockerfile and resources added
1 parent 5c74550 commit 0a82495

File tree

2 files changed

+123
-13
lines changed

2 files changed

+123
-13
lines changed

Dockerfile

Lines changed: 99 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,111 @@
1-
FROM anapsix/alpine-java:jdk8
1+
FROM alpine:latest
22

3-
MAINTAINER Razvan Andrei Surdu <razvan.surdu@gmail.com>
3+
MAINTAINER T.N.N <nissi.tafie@gmail.com>
44

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
611
ENV GRADLE_HOME /usr/local/gradle
712
ENV PATH ${PATH}:${GRADLE_HOME}/bin
813
ENV GRADLE_USER_HOME /gradle
914

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+
1049
# Install gradle
1150
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
1751

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
1998

2099
RUN mkdir -p /gradle && mkdir -p /app
21-
VOLUME /gradle /app
22100

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"]

entrypoint.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
echo "##### Install Docker ####"
3+
4+
#!/bin/sh
5+
6+
java -version
7+
8+
gradle -v --stacktrace
9+
10+
pip3 --version
11+
12+
python3 --version
13+
14+
docker -v
15+
16+
docker-compose -v
17+
18+
docker ps
19+
20+
ansible --version
21+
22+
ansible-playbook --version
23+
24+
kubectl version

0 commit comments

Comments
 (0)