├── latest ├── LICENSE ├── README.md ├── 17.5 └── Dockerfile ├── 18.3 └── Dockerfile ├── 18.3_xenial_xerus └── Dockerfile ├── 19.0 └── Dockerfile ├── 19.1 └── Dockerfile ├── 19.3 └── Dockerfile ├── 18.0 └── Dockerfile ├── 18.1 └── Dockerfile ├── 18.2 └── Dockerfile ├── 18.2.1 └── Dockerfile └── 20.1 └── Dockerfile /latest: -------------------------------------------------------------------------------- 1 | 20.1 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Synlay Technologies 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Basic Docker Container Images for Erlang/OTP 2 | 3 | [![](https://badge.imagelayers.io/synlay/erlang:latest.svg)](https://imagelayers.io/?images=synlay%2Ferlang:latest,synlay%2Ferlang:20.1,synlay%2Ferlang:19.3,synlay%2Ferlang:19.1,synlay%2Ferlang:19.0,synlay%2Ferlang:18.3_xenial_xerus,synlay%2Ferlang:18.3,synlay%2Ferlang:18.2.1,synlay%2Ferlang:18.2,synlay%2Ferlang:18.1,synlay%2Ferlang:18.0,synlay%2Ferlang:17.5 'Get your own badge on imagelayers.io') [![Docker Repository on Quay](https://quay.io/repository/synlay/docker-erlang/status "Docker Repository on Quay")](https://quay.io/repository/synlay/docker-erlang) [![Docker Repository on Docker Hub](https://img.shields.io/docker/automated/synlay/erlang.svg?maxAge=2592000)](https://hub.docker.com/r/synlay/erlang/) 4 | 5 | This repository does provide some Docker container images that include [Erlang/OTP](http://www.erlang.org/), along with the [rebar](https://github.com/rebar/rebar) and [relx](https://github.com/erlware/relx) build and release tools. 6 | 7 | The image file for the different Erlang/OTP versions can be found within the subdirectories and are available through tags on the Docker Hub. 8 | 9 | Latest Tools | Version 10 | ------------ | ------------- 11 | Base image | [phusion/baseimage:0.9.22](https://github.com/phusion/baseimage-docker/tree/cd23614b2741c5839e08585d9de778928c2b2146) 12 | Erlang/OTP | 20.1 13 | rebar | [2.6.4](https://github.com/rebar/rebar/tree/2429ddf7b46597222b0eaf6b79a438baafaaa96f) 14 | rebar3 | [3.4.7](https://github.com/erlang/rebar3/tree/81a5711b6db4dedb1d151d39464f326be80e2285) 15 | relx | [v3.24.3](https://github.com/erlware/relx/tree/63847133b4e171888f46e11b34dd00d2aa4ed081) 16 | 17 | # Usage 18 | 19 | Start a throw-away instance 20 | 21 | ```bash 22 | docker run -it --rm synlay/erlang /bin/bash 23 | ``` 24 | 25 | Run a container to use as a development environment 26 | 27 | ```bash 28 | docker run -it --name erlang-app synlay/erlang /bin/bash 29 | ``` 30 | -------------------------------------------------------------------------------- /17.5/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2015-07-21 10 | 11 | ENV OTP_VERSION 17.5 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV RELX_VERSION v3.5.0 15 | 16 | # Use baseimage-docker's init system. 17 | CMD ["/sbin/my_init"] 18 | 19 | ENV DEBIAN_FRONTEND noninteractive 20 | # Fix: erlexec: HOME must be set 21 | ENV HOME /root 22 | 23 | RUN locale-gen en_US.UTF-8 24 | ENV LANG en_US.UTF-8 25 | ENV LANGUAGE en_US:en 26 | ENV LC_ALL en_US.UTF-8 27 | 28 | # m4 = only needed for HiPE support 29 | RUN DEBIAN_FRONTEND=noninteractive \ 30 | apt-get update -qq \ 31 | && apt-get install -y \ 32 | build-essential=11.6\* \ 33 | git=1:1.9.1\* \ 34 | libncurses5-dev=5.9+20140118\* \ 35 | openssl=1.0.1f\* \ 36 | libssl-dev=1.0.1f\* \ 37 | fop=1:1.1.dfsg\* \ 38 | xsltproc=1.1.28\* \ 39 | unixodbc-dev=2.2.14p2\* \ 40 | m4=1.4.17\* 41 | 42 | # Build OTP from source 43 | RUN cd /usr/src \ 44 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 45 | && cd otp_src_${OTP_VERSION} \ 46 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 47 | && make \ 48 | && make install \ 49 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 50 | 51 | # Building rebar 52 | RUN cd /usr/src \ 53 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 54 | && cd rebar-${REBAR_VERSION} \ 55 | && make \ 56 | && cp rebar /usr/bin/rebar \ 57 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 58 | 59 | # Building relx 60 | RUN cd /usr/src \ 61 | && curl -SL https://github.com/erlware/relx/archive/${RELX_VERSION}.tar.gz | tar zxf - \ 62 | && cd relx-* \ 63 | && ./rebar3 update \ 64 | && ./rebar3 escriptize \ 65 | && cp _build/default/bin/relx /usr/bin/relx \ 66 | && cd / && rm -rf /usr/src/relx-* 67 | 68 | # Clean up APT when done. 69 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 70 | -------------------------------------------------------------------------------- /18.3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2016-06-27 10 | 11 | ENV OTP_VERSION 18.3 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION 3.2.0 15 | ENV RELX_VERSION v3.19.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=11.6\* \ 34 | git=1:1.9.1\* \ 35 | libncurses5-dev=5.9+20140118\* \ 36 | openssl=1.0.1f\* \ 37 | libssl-dev=1.0.1f\* \ 38 | fop=1:1.1.dfsg\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.2.14p2\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -LO https://github.com/erlware/relx/releases/download/${RELX_VERSION}/relx \ 71 | && chmod a+x relx \ 72 | && mv relx /usr/bin/relx 73 | 74 | # Clean up APT when done. 75 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 76 | -------------------------------------------------------------------------------- /18.3_xenial_xerus/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.19 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2016-07-18 10 | 11 | ENV OTP_VERSION 18.3 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION 3.2.0 15 | ENV RELX_VERSION v3.19.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=12.1\* \ 34 | git=1:2.7\* \ 35 | libncurses5-dev=6.0+20160213\* \ 36 | openssl=1.0.2g\* \ 37 | libssl-dev=1.0.2g\* \ 38 | fop=1:2.1\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.3.1\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -LO https://github.com/erlware/relx/releases/download/${RELX_VERSION}/relx \ 71 | && chmod a+x relx \ 72 | && mv relx /usr/bin/relx 73 | 74 | # Clean up APT when done. 75 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 76 | -------------------------------------------------------------------------------- /19.0/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.19 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2016-09-16 10 | 11 | ENV OTP_VERSION 19.0 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.4 14 | ENV REBAR3_VERSION 3.3.1 15 | ENV RELX_VERSION v3.19.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get --only-upgrade -qq install gnupg libgcrypt20 openssh-client \ 33 | openssh-server openssh-sftp-server \ 34 | && apt-get install -y \ 35 | build-essential=12.1\* \ 36 | git=1:2.7\* \ 37 | libncurses5-dev=6.0+20160213\* \ 38 | openssl=1.0.2g\* \ 39 | libssl-dev=1.0.2g\* \ 40 | fop=1:2.1\* \ 41 | xsltproc=1.1.28\* \ 42 | unixodbc-dev=2.3.1\* \ 43 | m4=1.4.17\* 44 | 45 | # Build OTP from source 46 | RUN cd /usr/src \ 47 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 48 | && cd otp_src_${OTP_VERSION} \ 49 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 50 | && make \ 51 | && make install \ 52 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 53 | 54 | # Building rebar 55 | RUN cd /usr/src \ 56 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 57 | && cd rebar-${REBAR_VERSION} \ 58 | && make \ 59 | && cp rebar /usr/bin/rebar \ 60 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 61 | 62 | # Building rebar3 63 | RUN cd /usr/src \ 64 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 65 | && cd rebar3-${REBAR3_VERSION} \ 66 | && ./bootstrap \ 67 | && cp rebar3 /usr/bin/rebar3 \ 68 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 69 | 70 | # Building relx 71 | RUN cd /usr/src \ 72 | && curl -LO https://github.com/erlware/relx/releases/download/${RELX_VERSION}/relx \ 73 | && chmod a+x relx \ 74 | && mv relx /usr/bin/relx 75 | 76 | # Clean up APT when done. 77 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 78 | -------------------------------------------------------------------------------- /19.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.19 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2016-09-16 10 | 11 | ENV OTP_VERSION 19.1 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.4 14 | ENV REBAR3_VERSION 3.3.1 15 | ENV RELX_VERSION v3.19.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get --only-upgrade -qq install gnupg libgcrypt20 openssh-client \ 33 | openssh-server openssh-sftp-server \ 34 | && apt-get install -y \ 35 | build-essential=12.1\* \ 36 | git=1:2.7\* \ 37 | libncurses5-dev=6.0+20160213\* \ 38 | openssl=1.0.2g\* \ 39 | libssl-dev=1.0.2g\* \ 40 | fop=1:2.1\* \ 41 | xsltproc=1.1.28\* \ 42 | unixodbc-dev=2.3.1\* \ 43 | m4=1.4.17\* 44 | 45 | # Build OTP from source 46 | RUN cd /usr/src \ 47 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 48 | && cd otp_src_${OTP_VERSION} \ 49 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 50 | && make \ 51 | && make install \ 52 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 53 | 54 | # Building rebar 55 | RUN cd /usr/src \ 56 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 57 | && cd rebar-${REBAR_VERSION} \ 58 | && make \ 59 | && cp rebar /usr/bin/rebar \ 60 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 61 | 62 | # Building rebar3 63 | RUN cd /usr/src \ 64 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 65 | && cd rebar3-${REBAR3_VERSION} \ 66 | && ./bootstrap \ 67 | && cp rebar3 /usr/bin/rebar3 \ 68 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 69 | 70 | # Building relx 71 | RUN cd /usr/src \ 72 | && curl -LO https://github.com/erlware/relx/releases/download/${RELX_VERSION}/relx \ 73 | && chmod a+x relx \ 74 | && mv relx /usr/bin/relx 75 | 76 | # Clean up APT when done. 77 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 78 | -------------------------------------------------------------------------------- /19.3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.20 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2017-03-28 10 | 11 | ENV OTP_VERSION 19.3 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.4 14 | ENV REBAR3_VERSION 3.3.6 15 | ENV RELX_VERSION v3.22.3 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get --only-upgrade -qq install gnupg libgcrypt20 openssh-client \ 33 | openssh-server openssh-sftp-server \ 34 | && apt-get install -y \ 35 | build-essential=12.1\* \ 36 | git=1:2.7\* \ 37 | libncurses5-dev=6.0+20160213\* \ 38 | openssl=1.0.2g\* \ 39 | libssl-dev=1.0.2g\* \ 40 | fop=1:2.1\* \ 41 | xsltproc=1.1.28\* \ 42 | unixodbc-dev=2.3.1\* \ 43 | m4=1.4.17\* 44 | 45 | # Build OTP from source 46 | RUN cd /usr/src \ 47 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 48 | && cd otp_src_${OTP_VERSION} \ 49 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 50 | && make \ 51 | && make install \ 52 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 53 | 54 | # Building rebar 55 | RUN cd /usr/src \ 56 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 57 | && cd rebar-${REBAR_VERSION} \ 58 | && make \ 59 | && cp rebar /usr/bin/rebar \ 60 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 61 | 62 | # Building rebar3 63 | RUN cd /usr/src \ 64 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 65 | && cd rebar3-${REBAR3_VERSION} \ 66 | && ./bootstrap \ 67 | && cp rebar3 /usr/bin/rebar3 \ 68 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 69 | 70 | # Building relx 71 | RUN cd /usr/src \ 72 | && curl -LO https://github.com/erlware/relx/releases/download/${RELX_VERSION}/relx \ 73 | && chmod a+x relx \ 74 | && mv relx /usr/bin/relx 75 | 76 | # Clean up APT when done. 77 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 78 | -------------------------------------------------------------------------------- /18.0/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2015-08-31 10 | 11 | ENV OTP_VERSION 18.0 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION beta-4 15 | ENV RELX_VERSION v3.5.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=11.6\* \ 34 | git=1:1.9.1\* \ 35 | libncurses5-dev=5.9+20140118\* \ 36 | openssl=1.0.1f\* \ 37 | libssl-dev=1.0.1f\* \ 38 | fop=1:1.1.dfsg\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.2.14p2\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -SL https://github.com/erlware/relx/archive/${RELX_VERSION}.tar.gz | tar zxf - \ 71 | && cd relx-* \ 72 | && ./rebar3 update \ 73 | && ./rebar3 escriptize \ 74 | && cp _build/default/bin/relx /usr/bin/relx \ 75 | && cd / && rm -rf /usr/src/relx-* 76 | 77 | # Clean up APT when done. 78 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 79 | -------------------------------------------------------------------------------- /18.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2015-12-10 10 | 11 | ENV OTP_VERSION 18.1 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION beta-4 15 | ENV RELX_VERSION v3.5.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=11.6\* \ 34 | git=1:1.9.1\* \ 35 | libncurses5-dev=5.9+20140118\* \ 36 | openssl=1.0.1f\* \ 37 | libssl-dev=1.0.1f\* \ 38 | fop=1:1.1.dfsg\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.2.14p2\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -SL https://github.com/erlware/relx/archive/${RELX_VERSION}.tar.gz | tar zxf - \ 71 | && cd relx-* \ 72 | && ./rebar3 update \ 73 | && ./rebar3 escriptize \ 74 | && cp _build/default/bin/relx /usr/bin/relx \ 75 | && cd / && rm -rf /usr/src/relx-* 76 | 77 | # Clean up APT when done. 78 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 79 | -------------------------------------------------------------------------------- /18.2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2015-12-10 10 | 11 | ENV OTP_VERSION 18.2 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION beta-4 15 | ENV RELX_VERSION v3.5.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=11.6\* \ 34 | git=1:1.9.1\* \ 35 | libncurses5-dev=5.9+20140118\* \ 36 | openssl=1.0.1f\* \ 37 | libssl-dev=1.0.1f\* \ 38 | fop=1:1.1.dfsg\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.2.14p2\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -SL https://github.com/erlware/relx/archive/${RELX_VERSION}.tar.gz | tar zxf - \ 71 | && cd relx-* \ 72 | && ./rebar3 update \ 73 | && ./rebar3 escriptize \ 74 | && cp _build/default/bin/relx /usr/bin/relx \ 75 | && cd / && rm -rf /usr/src/relx-* 76 | 77 | # Clean up APT when done. 78 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 79 | -------------------------------------------------------------------------------- /18.2.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.18 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2015-12-10 10 | 11 | ENV OTP_VERSION 18.2.1 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.1 14 | ENV REBAR3_VERSION beta-4 15 | ENV RELX_VERSION v3.5.0 16 | 17 | # Use baseimage-docker's init system. 18 | CMD ["/sbin/my_init"] 19 | 20 | ENV DEBIAN_FRONTEND noninteractive 21 | # Fix: erlexec: HOME must be set 22 | ENV HOME /root 23 | 24 | RUN locale-gen en_US.UTF-8 25 | ENV LANG en_US.UTF-8 26 | ENV LANGUAGE en_US:en 27 | ENV LC_ALL en_US.UTF-8 28 | 29 | # m4 = only needed for HiPE support 30 | RUN DEBIAN_FRONTEND=noninteractive \ 31 | apt-get update -qq \ 32 | && apt-get install -y \ 33 | build-essential=11.6\* \ 34 | git=1:1.9.1\* \ 35 | libncurses5-dev=5.9+20140118\* \ 36 | openssl=1.0.1f\* \ 37 | libssl-dev=1.0.1f\* \ 38 | fop=1:1.1.dfsg\* \ 39 | xsltproc=1.1.28\* \ 40 | unixodbc-dev=2.2.14p2\* \ 41 | m4=1.4.17\* 42 | 43 | # Build OTP from source 44 | RUN cd /usr/src \ 45 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 46 | && cd otp_src_${OTP_VERSION} \ 47 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 48 | && make \ 49 | && make install \ 50 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 51 | 52 | # Building rebar 53 | RUN cd /usr/src \ 54 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 55 | && cd rebar-${REBAR_VERSION} \ 56 | && make \ 57 | && cp rebar /usr/bin/rebar \ 58 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 59 | 60 | # Building rebar3 61 | RUN cd /usr/src \ 62 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 63 | && cd rebar3-${REBAR3_VERSION} \ 64 | && ./bootstrap \ 65 | && cp rebar3 /usr/bin/rebar3 \ 66 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 67 | 68 | # Building relx 69 | RUN cd /usr/src \ 70 | && curl -SL https://github.com/erlware/relx/archive/${RELX_VERSION}.tar.gz | tar zxf - \ 71 | && cd relx-* \ 72 | && ./rebar3 update \ 73 | && ./rebar3 escriptize \ 74 | && cp _build/default/bin/relx /usr/bin/relx \ 75 | && cd / && rm -rf /usr/src/relx-* 76 | 77 | # Clean up APT when done. 78 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 79 | -------------------------------------------------------------------------------- /20.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM phusion/baseimage:0.9.22 2 | 3 | MAINTAINER David Robakowski 4 | 5 | # Important! Update this no-op ENV variable when this Dockerfile 6 | # is updated with the current date. It will force refresh of all 7 | # of the base images and things like `apt-get update` won't be using 8 | # old cached versions when the Dockerfile is built. 9 | ENV REFRESHED_AT 2017-11-23 10 | 11 | ENV OTP_VERSION 20.1 12 | ENV OTP_BUILD_CONFIGURE_OPTIONS --enable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-m64-build --with-ssl 13 | ENV REBAR_VERSION 2.6.4 14 | ENV REBAR3_VERSION 3.4.7 15 | 16 | # Use baseimage-docker's init system. 17 | CMD ["/sbin/my_init"] 18 | 19 | ENV DEBIAN_FRONTEND noninteractive 20 | # Fix: erlexec: HOME must be set 21 | ENV HOME /root 22 | 23 | RUN locale-gen en_US.UTF-8 24 | ENV LANG en_US.UTF-8 25 | ENV LANGUAGE en_US:en 26 | ENV LC_ALL en_US.UTF-8 27 | 28 | # m4 = only needed for HiPE support 29 | RUN DEBIAN_FRONTEND=noninteractive \ 30 | apt-get update -qq \ 31 | && apt-get --only-upgrade -qq install gnupg libgcrypt20 openssh-client \ 32 | openssh-server openssh-sftp-server \ 33 | && apt-get install -y \ 34 | build-essential=12.1\* \ 35 | git=1:2.7\* \ 36 | libncurses5-dev=6.0+20160213\* \ 37 | openssl=1.0.2g\* \ 38 | libssl-dev=1.0.2g\* \ 39 | fop=1:2.1\* \ 40 | xsltproc=1.1.28\* \ 41 | unixodbc-dev=2.3.1\* \ 42 | m4=1.4.17\* 43 | 44 | # Build OTP from source 45 | RUN cd /usr/src \ 46 | && curl -SL http://erlang.org/download/otp_src_${OTP_VERSION}.tar.gz | tar zxf - \ 47 | && cd otp_src_${OTP_VERSION} \ 48 | && ./configure ${OTP_BUILD_CONFIGURE_OPTIONS} \ 49 | && make \ 50 | && make install \ 51 | && cd / && rm -rf /usr/src/otp_src_${OTP_VERSION} 52 | 53 | # Building rebar 54 | RUN cd /usr/src \ 55 | && curl -SL https://github.com/rebar/rebar/archive/${REBAR_VERSION}.tar.gz | tar zxf - \ 56 | && cd rebar-${REBAR_VERSION} \ 57 | && make \ 58 | && cp rebar /usr/bin/rebar \ 59 | && cd / && rm -rf /usr/src/rebar-${REBAR_VERSION} 60 | 61 | # Building rebar3 62 | RUN cd /usr/src \ 63 | && curl -SL https://github.com/rebar/rebar3/archive/${REBAR3_VERSION}.tar.gz | tar zxf - \ 64 | && cd rebar3-${REBAR3_VERSION} \ 65 | && ./bootstrap \ 66 | && cp rebar3 /usr/bin/rebar3 \ 67 | && cd / && rm -rf /usr/src/rebar3-${REBAR3_VERSION} 68 | 69 | # Building relx 70 | RUN cd /usr/src \ 71 | && mkdir relx \ 72 | && cp /root/.cache/rebar3/hex/default/packages/relx-* relx \ 73 | && cd relx \ 74 | && tar -xf relx-* \ 75 | && tar -zxf contents.tar.gz \ 76 | && /usr/bin/rebar3 update \ 77 | && /usr/bin/rebar3 as escript escriptize \ 78 | && chmod a+x _build/escript/bin/relx \ 79 | && mv _build/escript/bin/relx /usr/bin/relx \ 80 | && cd / && rm -rf /usr/src/relx 81 | 82 | # Clean up APT when done. 83 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 84 | --------------------------------------------------------------------------------