11# == Ubuntu xenial is 16.04, i.e. FROM ubuntu:16.04
22# Find latest images at https://hub.docker.com/r/library/ubuntu/
33# Layer size: big: 127.2 MB
4- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
5- FROM ubuntu:xenial-20161010
4+ FROM ubuntu:xenial-20161114
65ENV UBUNTU_FLAVOR="xenial" \
7- UBUNTU_DATE="20161010 "
6+ UBUNTU_DATE="20161114 "
87
98# == Ubuntu flavors - common
109RUN echo "deb http://archive.ubuntu.com/ubuntu ${UBUNTU_FLAVOR} main universe\n " > /etc/apt/sources.list \
1110 && echo "deb http://archive.ubuntu.com/ubuntu ${UBUNTU_FLAVOR}-updates main universe\n " >> /etc/apt/sources.list \
1211 && echo "deb http://archive.ubuntu.com/ubuntu ${UBUNTU_FLAVOR}-security main universe\n " >> /etc/apt/sources.list
1312
1413MAINTAINER Team TIP <
[email protected] >
14+ # https://github.com/docker/docker/pull/25466#discussion-diff-74622923R677
15+ LABEL maintainer
"Team TIP <[email protected] >" 1516
1617# No interactive frontend during docker build
1718ENV DEBIAN_FRONTEND=noninteractive \
@@ -82,7 +83,6 @@ RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF \
8283# has `ts` that will prepend a timestamp to every line of input you give it
8384# Layer size: medium: 29.8 MB
8485# Layer size: medium: 27.9 MB (with --no-install-recommends)
85- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
8686RUN apt-get -qqy update \
8787 && apt-get -qqy install \
8888 libltdl7 \
@@ -116,7 +116,6 @@ ENV LANGUAGE ${LANG_WHICH}_${LANG_WHERE}.${ENCODING}
116116ENV LANG ${LANGUAGE}
117117# Layer size: small: 8.956 MB
118118# Layer size: small: 8.956 MB (with --no-install-recommends)
119- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
120119RUN locale-gen ${LANGUAGE} \
121120 && dpkg-reconfigure --frontend noninteractive locales \
122121 && apt-get -qqy update \
@@ -134,7 +133,6 @@ RUN locale-gen ${LANGUAGE} \
134133ENV TZ "Europe/Berlin"
135134# Apply TimeZone
136135# Layer size: tiny: 1.339 MB
137- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
138136RUN echo "Setting time zone to '${TZ}'" \
139137 && echo ${TZ} > /etc/timezone \
140138 && dpkg-reconfigure --frontend noninteractive tzdata
@@ -143,7 +141,6 @@ RUN echo "Setting time zone to '${TZ}'" \
143141# Add normal user with passwordless sudo
144142# ========================================
145143# Layer size: tiny: 0.3 MB
146- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
147144RUN useradd seluser \
148145 --shell /bin/bash \
149146 --create-home \
@@ -161,7 +158,6 @@ RUN useradd seluser \
161158# https://github.com/SeleniumHQ/docker-selenium/issues/14#issuecomment-67414070
162159# Layer size: big: 132.2 MB
163160# Layer size: big: 132.2 MB (with --no-install-recommends)
164- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
165161RUN apt-get -qqy update \
166162 && apt-get -qqy install \
167163 openjdk-8-jre-headless \
@@ -180,7 +176,6 @@ RUN apt-get -qqy update \
180176# https://github.com/SeleniumHQ/docker-selenium/issues/14#issuecomment-67414070
181177# Layer size: huge: 618.6 MB (with --no-install-recommends)
182178# Layer size: huge: 661.1 MB
183- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
184179# RUN apt-get -qqy update \
185180# && apt-get -qqy --no-install-recommends install \
186181# software-properties-common \
@@ -207,7 +202,6 @@ RUN apt-get -qqy update \
207202# ==============================================
208203# See: SeleniumHQ/docker-selenium/issues/14
209204# Layer size: tiny: 0.8 MB
210- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
211205RUN apt-get -qqy update \
212206 && apt-key update -qqy \
213207 && apt-get -qqy install \
@@ -227,7 +221,6 @@ WORKDIR /home/seluser
227221# Selenium 2 (default)
228222# ======================
229223# Layer size: medium: 21.23 MB
230- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
231224ENV SEL_MAJOR_VER="2.53" \
232225 SEL_PATCH_LEVEL_VER="1"
233226ENV SEL_VER="${SEL_MAJOR_VER}.${SEL_PATCH_LEVEL_VER}"
@@ -243,7 +236,6 @@ RUN export SELBASE="https://selenium-release.storage.googleapis.com" \
243236# Selenium 3
244237# ============
245238# Layer size: medium: 22.14 MB
246- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
247239ENV SEL_DIRECTORY="3.0" \
248240 SEL_VER="3.0.1"
249241RUN export SELBASE="https://selenium-release.storage.googleapis.com" \
@@ -262,7 +254,6 @@ USER root
262254# =========================================================
263255# Layer size: big.: 79.39 MB (with --no-install-recommends)
264256# Layer size: huge: 296 MB
265- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
266257RUN apt-get -qqy update \
267258 && apt-get -qqy --no-install-recommends install \
268259 python2.7 \
@@ -284,7 +275,6 @@ RUN apt-get -qqy update \
284275# After install, make some useful symlinks that are expected to exist
285276# Layer size: big.: 138.9 MB (with --no-install-recommends)
286277# Layer size: huge: 309.9 MB
287- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
288278# RUN apt-get -qqy update \
289279# && apt-get -qqy --no-install-recommends install \
290280# python3.5 \
@@ -343,7 +333,6 @@ RUN SHA="cbebb93f58f4a90963abd96d849395a58d5f034b" \
343333# xfonts-75dpi 5.509 MB
344334# Layer size: small: 6.898 MB (with --no-install-recommends)
345335# Layer size: small: 6.898 MB
346- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
347336RUN apt-get -qqy update \
348337 && apt-get -qqy --no-install-recommends install \
349338 libfontconfig \
@@ -361,7 +350,6 @@ RUN apt-get -qqy update \
361350# Let's disable this as is only filling disk space
362351# Layer size: huge: 153.4 MB (with --no-install-recommends)
363352# Layer size: huge: 224.4 MB
364- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
365353# RUN apt-get -qqy update \
366354# && apt-get -qqy --no-install-recommends install \
367355# openbox obconf menu \
@@ -373,7 +361,6 @@ RUN apt-get -qqy update \
373361# =========
374362# Layer size: small: 9.659 MB
375363# Layer size: small: 6.592 MB (with --no-install-recommends)
376- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
377364RUN apt-get -qqy update \
378365 && apt-get -qqy install \
379366 fluxbox \
@@ -391,7 +378,6 @@ RUN apt-get -qqy update \
391378# xserver-xorg-video-dummy 116.7 MB no-recommends: 90.52 MB
392379# Layer size: big: 136.9 MB (with --no-install-recommends)
393380# Layer size: big: 162.6 MB
394- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
395381RUN apt-get -qqy update \
396382 && apt-get -qqy --no-install-recommends install \
397383 xvfb \
@@ -403,7 +389,6 @@ RUN apt-get -qqy update \
403389# ============
404390# Layer size: medium: 12.67 MB
405391# Layer size: medium: 10.08 MB (with --no-install-recommends)
406- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
407392RUN apt-get -qqy update \
408393 && apt-get -qqy install \
409394 x11vnc \
@@ -417,14 +402,16 @@ USER seluser
417402# #######################################
418403# noVNC to expose VNC via an html page #
419404# #######################################
420- # Download noVNC commit b403cb92f date 2016-02-24
421- # Download websockify commit 558a6439f dated 2015-06-02
405+ # Download elgalu/noVNC dated 2016-11-13 commit fae4cec14caefa0bf3462fb0a186476a93192d05
406+ # Download kanaka/noVNC dated 2016-11-10 commit 80b7dde665cac937aa0929d2b75aa482fc0e10ad
407+ # Download kanaka/noVNC dated 2016-02-24 commit b403cb92fb8de82d04f305b4f14fa978003890d7
408+ # Download kanaka/websockify dated 2016-10-10 commit cb1508fa495bea4b333173705772c1997559ae4b
409+ # Download kanaka/websockify dated 2015-06-02 commit 558a6439f14b0d85a31145541745e25c255d576b
422410# Layer size: small: 2.919 MB
423- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
424- ENV NOVNC_SHA="b403cb92fb8de82d04f305b4f14fa978003890d7" \
425- WEBSOCKIFY_SHA="558a6439f14b0d85a31145541745e25c255d576b"
411+ ENV NOVNC_SHA="fae4cec14caefa0bf3462fb0a186476a93192d05" \
412+ WEBSOCKIFY_SHA="cb1508fa495bea4b333173705772c1997559ae4b"
426413RUN wget -nv -O noVNC.zip \
427- "https://github.com/kanaka /noVNC/archive/${NOVNC_SHA}.zip" \
414+ "https://github.com/elgalu /noVNC/archive/${NOVNC_SHA}.zip" \
428415 && unzip -x noVNC.zip \
429416 && mv noVNC-${NOVNC_SHA} noVNC \
430417 && rm noVNC.zip \
@@ -448,7 +435,6 @@ USER root
448435# https://www.youtube.com/html5
449436# Layer size: big: 149.9 MB
450437# Layer size: big: 135.4 MB (with --no-install-recommends)
451- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
452438RUN apt-get -qqy update \
453439 && apt-get -qqy --no-install-recommends install \
454440 gstreamer1.0-libav \
@@ -459,7 +445,6 @@ RUN apt-get -qqy update \
459445# =================================================
460446# Layer size: medium: 11.56 MB (with --no-install-recommends)
461447# Layer size: medium: 20.76 MB
462- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
463448RUN apt-get -qqy update \
464449 && apt-get -qqy --no-install-recommends install \
465450 libx264-dev \
@@ -474,7 +459,6 @@ RUN apt-get -qqy update \
474459# (use in Ubuntu >= 15) packages: ffmpeg
475460# Layer size: medium: 11.54 MB (with --no-install-recommends)
476461# Layer size: medium: 16.7 MB
477- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
478462# RUN apt-get -qqy update \
479463# && apt-get -qqy --no-install-recommends install \
480464# ffmpeg \
@@ -485,7 +469,6 @@ RUN apt-get -qqy update \
485469# ==============
486470# Layer size: medium: 11.58 MB (with --no-install-recommends)
487471# Layer size: medium: 16.75 MB
488- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
489472# libav-tools (avconv): a fork of ffmpeg
490473# a better alternative to Pyvnc2swf
491474# (use in Ubuntu <= 14) packages: libav-tools libx264-142
@@ -499,7 +482,6 @@ RUN apt-get -qqy update \
499482# ------------------------#
500483# https://docs.saucelabs.com/reference/sauce-connect/
501484# Layer size: medium: 12.42 MB
502- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
503485ENV SAUCE_CONN_VER="sc-4.4.1-linux" \
504486 SAUCE_CONN_DOWN_URL="https://saucelabs.com/downloads"
505487RUN cd /tmp \
@@ -516,7 +498,6 @@ RUN cd /tmp \
516498# -----------------------#
517499# https://www.browserstack.com/local-testing
518500# Layer size: medium: 16.02 MB
519- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
520501ENV BSTACK_TUNNEL_URL="https://www.browserstack.com/browserstack-local" \
521502 BSTACK_TUNNEL_ZIP="BrowserStackLocal-linux-x64.zip"
522503RUN cd /tmp \
@@ -532,7 +513,6 @@ RUN cd /tmp \
532513# -----------------#
533514# Install all Firefox dependencies
534515# Layer size: big: 83.51 MB
535- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
536516RUN apt-get -qqy update \
537517 && apt-get -qqy --no-install-recommends install \
538518 `apt-cache depends firefox | awk '/Depends:/{print$2}' ` \
@@ -567,8 +547,7 @@ ENV FF_LANG="en-US" \
567547
568548# --- For Selenium 3
569549# Layer size: big: 108.2 MB
570- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
571- ENV FF_VER="49.0.2"
550+ ENV FF_VER="50.0"
572551ENV FF_COMP="firefox-${FF_VER}.tar.bz2"
573552ENV FF_URL="${FF_BASE_URL}/${FF_INNER_PATH}/${FF_VER}/${FF_PLATFORM}/${FF_LANG}/${FF_COMP}"
574553RUN wget -nv "${FF_URL}" -O "firefox.tar.bz2" \
@@ -580,7 +559,6 @@ RUN wget -nv "${FF_URL}" -O "firefox.tar.bz2" \
580559
581560# --- Stable for Selenium 2
582561# Layer size: big: 107 MB
583- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
584562ENV FF_VER="47.0.1"
585563ENV FF_COMP="firefox-${FF_VER}.tar.bz2"
586564ENV FF_URL="${FF_BASE_URL}/${FF_INNER_PATH}/${FF_VER}/${FF_PLATFORM}/${FF_LANG}/${FF_COMP}"
@@ -600,7 +578,6 @@ USER root
600578# GeckoDriver
601579# ============
602580# Layer size: tiny: 4.088 MB
603- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
604581ENV GECKOD_VER="0.11.1" \
605582 GECKOD_URL="https://github.com/mozilla/geckodriver/releases/download"
606583RUN wget --no-verbose -O geckodriver.tar.gz \
@@ -620,7 +597,6 @@ ENV CHROME_VERSION_TRIGGER="54.0.2840.100" \
620597 CHROME_BASE_DEB_PATH="/home/seluser/chrome-deb/google-chrome" \
621598 GREP_ONLY_NUMS_VER="[0-9.]{2,20}"
622599# Layer size: huge: 196.3 MB
623- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
624600RUN apt-get -qqy update \
625601 && mkdir -p chrome-deb \
626602 && wget -nv "${CHROME_URL}/google-chrome-stable_current_amd64.deb" \
@@ -654,7 +630,6 @@ ENV CHROME_DRIVER_FILE="chromedriver_linux${CPU_ARCH}.zip"
654630ENV CHROME_DRIVER_URL="https://${CHROME_DRIVER_BASE}/${CHROME_DRIVER_VERSION}/${CHROME_DRIVER_FILE}"
655631# Gets latest chrome driver version. Or you can hard-code it, e.g. 2.15
656632# Layer size: small: 6.932 MB
657- # [tiny 0~4MB, small 5~9MB, medium 10~39MB, big 40~150MB, huge >150MB]
658633RUN wget -nv -O chromedriver_linux${CPU_ARCH}.zip ${CHROME_DRIVER_URL} \
659634 && unzip chromedriver_linux${CPU_ARCH}.zip \
660635 && rm chromedriver_linux${CPU_ARCH}.zip \
0 commit comments