Skip to content

Commit 85f8561

Browse files
committed
Merge pull request #36 from dduportal/lighten_image
Lighten image
2 parents c9590cd + 1b6994c commit 85f8561

File tree

1 file changed

+47
-64
lines changed

1 file changed

+47
-64
lines changed

Dockerfile

Lines changed: 47 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -5,107 +5,90 @@ MAINTAINER Jean-Marc MEESSEN <[email protected]>
55
ENV DEBIAN_FRONTEND noninteractive
66
ENV IDEA_VERSION=14.1.1
77
ENV MAVEN_VERSION=3.2.5
8-
ENV FIREFOX_VERSION=37.0.1
8+
ENV FIREFOX_VERSION=37.0.2
99

1010
COPY configs/x2go.list /etc/apt/sources.list.d/x2go.list
11+
COPY configs/idea.desktop /usr/share/applications/idea.desktop
12+
COPY configs/idea.png /opt/idea/idea.png
13+
COPY configs/entrypoint.sh /usr/local/bin/entrypoint.sh
14+
COPY configs/user-env.sh /etc/profile.d/user-env.sh
15+
COPY configs/firefox.desktop /usr/share/applications/firefox.desktop
16+
COPY configs/idea.desktop /usr/share/applications/idea.desktop
17+
COPY configs/idea.png /opt/idea/idea.png
1118

12-
RUN apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
13-
RUN apt-get update \
14-
&& apt-get install -y --no-install-recommends \
19+
RUN apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E \
20+
&& apt-get -q update \
21+
&& apt-get install -q -y --no-install-recommends \
1522
aptitude \
1623
byobu \
1724
build-essential \
1825
curl \
26+
git \
1927
htop \
28+
libasound2 \
29+
libdbus-glib-1-2 \
30+
libgtk2.0-0 \
31+
libpango1.0-0 \
32+
libxt6 \
33+
libXrender1 \
34+
lxde \
2035
openjdk-7-jdk \
2136
openssh-server \
2237
software-properties-common \
2338
sudo \
2439
vim \
25-
wget
26-
RUN apt-get install -y --no-install-recommends \
27-
lxde \
40+
wget \
2841
x2goserver \
2942
x2golxdebindings \
3043
x2goserver-xsession \
3144
x2go-keyring \
45+
&& apt-get remove -q -y iceweasel \
3246
&& echo "root:root" | chpasswd \
3347
&& adduser --disabled-password --gecos "" dockerx \
3448
&& adduser dockerx sudo \
3549
&& echo "dockerx:dockerx" | chpasswd \
3650
&& adduser dockerx x2gouser \
37-
&& mkdir -p /var/run/sshd && sed -i "s/UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config && sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config \
51+
&& echo "dockerx ALL = NOPASSWD: ALL" > /etc/sudoers.d/dockerx \
52+
&& mkdir -p /var/run/sshd /opt/maven /home/dockerx/.ssh /data /home/dockerx/.config/lxpanel/LXDE/panels /home/dockerx/.m2 \
53+
&& sed -i "s/UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config \
54+
&& sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config \
3855
&& sed -i "s/PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config \
3956
&& sed -i "s/#PasswordAuthentication/PasswordAuthentication/g" /etc/ssh/sshd_config \
40-
&& chmod 1777 /dev/shm \
41-
&& rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/*
42-
43-
# Define working directory.
44-
WORKDIR /data
45-
46-
RUN curl -L -o /tmp/idea.tgz https://download.jetbrains.com/idea/ideaIC-${IDEA_VERSION}.tar.gz \
57+
&& sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config \
58+
&& curl -L -o /tmp/idea.tgz https://download.jetbrains.com/idea/ideaIC-${IDEA_VERSION}.tar.gz \
4759
&& tar -xzf /tmp/idea.tgz -C /opt/ \
48-
&& mv /opt/idea* /opt/idea \
60+
&& cp -r /opt/idea-*/* /opt/idea/ \
4961
&& ln -s /opt/idea/bin/idea.sh /usr/local/bin/ \
50-
&& rm -rf /tmp/*
51-
52-
# Install "maven"
53-
RUN curl -L -o /tmp/maven.tgz http://apache.belnet.be/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
54-
&& mkdir -p /opt/maven \
62+
&& curl -L -o /tmp/maven.tgz http://apache.belnet.be/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
5563
&& tar xzf /tmp/maven.tgz -C /opt/maven \
56-
&& ln -s /opt/maven/apache-maven-${MAVEN_VERSION} /opt/maven/maven-latest \
57-
&& rm -rf /tmp/*
58-
59-
COPY configs/user-env.sh /etc/profile.d/user-env.sh
60-
61-
RUN echo "dockerx ALL = NOPASSWD: ALL" > /etc/sudoers.d/dockerx
62-
63-
COPY configs/idea.desktop /usr/share/applications/idea.desktop
64-
COPY configs/idea.png /opt/idea/idea.png
64+
&& ln -s "/opt/maven/apache-maven-${MAVEN_VERSION}" /opt/maven/maven-latest \
65+
&& ln -s /opt/maven/maven-latest/bin/mvn /usr/local/bin/ \
66+
&& curl -L -o /tmp/firefox.tar.bz2 http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 \
67+
&& tar jxf /tmp/firefox.tar.bz2 -C /opt/ \
68+
&& ln -s /opt/firefox/firefox /usr/local/bin/ \
69+
&& echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" \
70+
> /home/dockerx/.ssh/authorized_keys \
71+
&& chmod 1777 /dev/shm \
72+
&& chown -R dockerx:dockerx /data /home/dockerx \
73+
&& chmod -R 0750 /data /home/dockerx \
74+
&& chmod 0700 /home/dockerx/.ssh \
75+
&& chmod 0600 /home/dockerx/.ssh/authorized_keys \
76+
&& chmod a+x /usr/local/bin/entrypoint.sh \
77+
&& apt-get -qy autoremove \
78+
&& apt-get -qy purge \
79+
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/cache/* /opt/idea-*
6580

66-
# Configure things for dockerx user
6781
USER dockerx
6882
COPY configs/lxde-main-panel /home/dockerx/.config/lxpanel/LXDE/panels/panel
6983
COPY configs/settings.xml /home/dockerx/.m2/settings.xml
70-
USER root
71-
COPY configs/idea.desktop /usr/share/applications/idea.desktop
72-
COPY configs/idea.png /opt/idea/idea.png
73-
74-
RUN apt-get update && apt-get install -y --no-install-recommends libXrender1 libasound2 libdbus-glib-1-2 libgtk2.0-0 libpango1.0-0 libxt6 && apt-get remove -y iceweasel
75-
RUN cd /opt; wget -O - \
76-
http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 | tar jx \
77-
&& ln -s /opt/firefox/firefox /usr/local/bin/
78-
79-
COPY configs/firefox.desktop /usr/share/applications/firefox.desktop
80-
81-
#install GIT
82-
RUN apt-get install -y --no-install-recommends git
83-
84-
#install demo material
8584
COPY demoMaterial/setupDemo.sh /data/setupDemo.sh
8685

87-
RUN chown -R dockerx:dockerx /data \
88-
&& chmod -R 0750 /data
89-
90-
RUN mkdir -p /home/dockerx/.ssh \
91-
&& echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" \
92-
> /home/dockerx/.ssh/authorized_keys \
93-
&& chmod 0600 /home/dockerx/.ssh/authorized_keys \
94-
&& chown -R dockerx:dockerx /home/dockerx/.ssh
95-
96-
RUN sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config
97-
98-
RUN ln -s /opt/maven/maven-latest/bin/mvn /usr/local/bin/
99-
100-
COPY configs/entrypoint.sh /usr/local/bin/entrypoint.sh
101-
RUN chmod a+x /usr/local/bin/entrypoint.sh
102-
86+
# Define working directory.
87+
WORKDIR /data
10388

10489
# Mark as data volumes those folder
10590
VOLUME ["/data","/var/log","/tmp","/var/cache"]
10691

10792
EXPOSE 22
10893

109-
USER dockerx
110-
11194
CMD ["/usr/local/bin/entrypoint.sh"]

0 commit comments

Comments
 (0)