-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile.jenkins
49 lines (33 loc) · 1.58 KB
/
Dockerfile.jenkins
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
FROM ruby:latest
RUN apt-get update -qq && apt-get install -qqy \
apt-transport-https \
ca-certificates \
curl \
lxc \
iptables
RUN apt-get purge git -y
RUN echo "deb http://ftp.us.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y git \
&& apt-get clean all
# Install Docker from Docker Inc. repositories.
RUN curl -sSL https://get.docker.com/ | sh
# Install the magic wrapper.
ADD ./wrapdocker /usr/local/bin/wrapdocker
RUN chmod +x /usr/local/bin/wrapdocker
ENV SWARM_CLIENT_VERSION 2.0
ENV DOCKER_COMPOSE_VERSION 1.3.3
# Add a Jenkins user with permission to run docker commands
RUN useradd -r -m -G docker jenkins
# Install necessary packages
RUN apt-get update && apt-get install -y curl zip openjdk-7-jre-headless supervisor && rm -rf /var/lib/apt/lists/*
# Install Jenkins Swarm Client
ADD https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/3.3/swarm-client-3.3.jar /home/jenkins/
RUN chown jenkins:jenkins /home/jenkins/swarm-client-3.3.jar
# Install Docker Compose
RUN curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ADD https://packages.chef.io/files/stable/chefdk/1.3.43/ubuntu/14.04/chefdk_1.3.43-1_amd64.deb chefdk_1.3.43-1_amd64.deb
RUN dpkg -i chefdk_1.3.43-1_amd64.deb
CMD ["/usr/bin/supervisord"]