├── 1.2 ├── onbuild │ └── Dockerfile ├── Dockerfile └── slim │ └── Dockerfile ├── 1.3 ├── onbuild │ └── Dockerfile ├── Dockerfile └── slim │ └── Dockerfile ├── 1.4 ├── onbuild │ └── Dockerfile ├── Dockerfile └── slim │ └── Dockerfile ├── 1.5 ├── Dockerfile ├── alpine │ └── Dockerfile └── slim │ └── Dockerfile ├── 1.6 ├── Dockerfile ├── otp-21 │ └── Dockerfile ├── alpine │ └── Dockerfile ├── slim │ └── Dockerfile └── otp-21-alpine │ └── Dockerfile ├── 1.7 ├── Dockerfile ├── otp-21.2 │ └── Dockerfile ├── alpine │ └── Dockerfile ├── otp-21.2-alpine │ └── Dockerfile └── slim │ └── Dockerfile ├── 1.8 ├── Dockerfile ├── otp-22 │ └── Dockerfile ├── otp-21.2 │ └── Dockerfile ├── alpine │ └── Dockerfile ├── otp-22-alpine │ └── Dockerfile ├── otp-21.2-alpine │ └── Dockerfile └── slim │ └── Dockerfile ├── 1.9 ├── Dockerfile ├── alpine │ └── Dockerfile └── slim │ └── Dockerfile ├── 1.10 ├── Dockerfile ├── alpine │ └── Dockerfile └── slim │ └── Dockerfile ├── master └── Dockerfile ├── .travis.yml ├── README.md └── generate-stackbrew-library.sh /1.2/onbuild/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM elixir:1.2 3 | 4 | -------------------------------------------------------------------------------- /1.3/onbuild/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM elixir:1.3 3 | 4 | -------------------------------------------------------------------------------- /1.4/onbuild/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM elixir:1.4 3 | 4 | -------------------------------------------------------------------------------- /1.5/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.5.3" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="0fc6024b6027d87af9609b416448fd65d8927e0d05fc02410b35f4b9b9eb9629" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.6/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.6.6" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="74507b0646bf485ee3af0e7727e3fdab7123f1c5ecf2187a52a928ad60f93831" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.7/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.7.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="c7c87983e03a1dcf20078141a22355e88dadb26b53d3f3f98b9a9268687f9e20" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.8/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.6/otp-21/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.6.6" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="74507b0646bf485ee3af0e7727e3fdab7123f1c5ecf2187a52a928ad60f93831" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.8/otp-22/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.7/otp-21.2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21.2 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.7.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="c7c87983e03a1dcf20078141a22355e88dadb26b53d3f3f98b9a9268687f9e20" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.8/otp-21.2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21.2 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.9/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.9.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /1.10/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.10.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="8518c78f43fe36315dbe0d623823c2c1b7a025c114f3f4adbb48e04ef63f1d9f" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make install clean 17 | 18 | CMD ["iex"] 19 | -------------------------------------------------------------------------------- /master/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.9.0-dev@cee233c" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION#*@}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="09396308e583cee2eaa89ee928e6b217f2d345e0a9dfca5b35765cb50f50981a" \ 10 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 11 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 12 | && mkdir -p /usr/local/src/elixir \ 13 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 14 | && rm elixir-src.tar.gz \ 15 | && cd /usr/local/src/elixir \ 16 | && make -j$(nproc) \ 17 | && make install clean 18 | 19 | CMD ["iex"] 20 | -------------------------------------------------------------------------------- /1.5/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.5.3" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 9 | && ELIXIR_DOWNLOAD_SHA256="70972b844c12bc1a3960136d628ab4f21ca87dd5539c544ebabe41d6c9239ba9" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | unzip \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 18 | && unzip -d /usr/local elixir-precompiled.zip \ 19 | && rm elixir-precompiled.zip \ 20 | && apk del .build-deps 21 | 22 | CMD ["iex"] 23 | -------------------------------------------------------------------------------- /1.6/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.6.6" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 9 | && ELIXIR_DOWNLOAD_SHA256="d6a84726a042407110d3b13b1ce8d9524b4a50df68174e79d89a9e42e30b410b" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | unzip \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 18 | && unzip -d /usr/local elixir-precompiled.zip \ 19 | && rm elixir-precompiled.zip \ 20 | && apk del .build-deps 21 | 22 | CMD ["iex"] 23 | -------------------------------------------------------------------------------- /1.4/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:19 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.4.5" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 9 | && ELIXIR_DOWNLOAD_SHA256="a740e634e3c68b1477e16d75a0fd400237a46c62ceb5d04551dbc46093a03f98"\ 10 | && buildDeps=' \ 11 | unzip \ 12 | ' \ 13 | && apt-get update \ 14 | && apt-get install -y --no-install-recommends $buildDeps \ 15 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 16 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 17 | && unzip -d /usr/local elixir-precompiled.zip \ 18 | && rm elixir-precompiled.zip \ 19 | && apt-get purge -y --auto-remove $buildDeps \ 20 | && rm -rf /var/lib/apt/lists/* 21 | 22 | CMD ["iex"] 23 | -------------------------------------------------------------------------------- /1.3/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM erlang:19 3 | 4 | # elixir expects utf8. 5 | ENV ELIXIR_VERSION="v1.3.4" \ 6 | LANG=C.UTF-8 7 | 8 | RUN set -xe \ 9 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 10 | && ELIXIR_DOWNLOAD_SHA256="eac16c41b88e7293a31d6ca95b5d72eaec92349a1f16846344f7b88128587e10"\ 11 | && buildDeps=' \ 12 | unzip \ 13 | ' \ 14 | && apt-get update \ 15 | && apt-get install -y --no-install-recommends $buildDeps \ 16 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 18 | && unzip -d /usr/local elixir-precompiled.zip \ 19 | && rm elixir-precompiled.zip \ 20 | && apt-get purge -y --auto-remove $buildDeps \ 21 | && rm -rf /var/lib/apt/lists/* 22 | 23 | CMD ["iex"] 24 | -------------------------------------------------------------------------------- /1.2/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM erlang:18 3 | 4 | # elixir expects utf8. 5 | ENV ELIXIR_VERSION="v1.2.6" \ 6 | LANG=C.UTF-8 7 | 8 | RUN set -xe \ 9 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION#*@}/Precompiled.zip" \ 10 | && ELIXIR_DOWNLOAD_SHA256="bb4324eb7c9568fa30f0f2ed3c1b86ebbd5251f7c820f1beb0e5eed5fb8a9729" \ 11 | && buildDeps=' \ 12 | unzip \ 13 | ' \ 14 | && apt-get update \ 15 | && apt-get install -y --no-install-recommends $buildDeps \ 16 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 18 | && unzip -d /usr/local elixir-precompiled.zip \ 19 | && rm elixir-precompiled.zip \ 20 | && apt-get purge -y --auto-remove $buildDeps \ 21 | && rm -rf /var/lib/apt/lists/* 22 | 23 | CMD ["iex"] 24 | -------------------------------------------------------------------------------- /1.5/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.5.3" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 9 | && ELIXIR_DOWNLOAD_SHA256="70972b844c12bc1a3960136d628ab4f21ca87dd5539c544ebabe41d6c9239ba9" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | unzip \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 19 | && unzip -d /usr/local elixir-precompiled.zip \ 20 | && rm elixir-precompiled.zip \ 21 | && apt-get purge -y --auto-remove $buildDeps \ 22 | && rm -rf /var/lib/apt/lists/* 23 | 24 | CMD ["iex"] 25 | -------------------------------------------------------------------------------- /1.6/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:20-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.6.6" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 9 | && ELIXIR_DOWNLOAD_SHA256="d6a84726a042407110d3b13b1ce8d9524b4a50df68174e79d89a9e42e30b410b" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | unzip \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 19 | && unzip -d /usr/local elixir-precompiled.zip \ 20 | && rm elixir-precompiled.zip \ 21 | && apt-get purge -y --auto-remove $buildDeps \ 22 | && rm -rf /var/lib/apt/lists/* 23 | 24 | CMD ["iex"] 25 | -------------------------------------------------------------------------------- /1.2/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM erlang:18-slim 3 | 4 | # elixir expects utf8. 5 | ENV ELIXIR_VERSION="v1.2.6" \ 6 | LANG=C.UTF-8 7 | 8 | RUN set -xe \ 9 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION#*@}/Precompiled.zip" \ 10 | && ELIXIR_DOWNLOAD_SHA256="bb4324eb7c9568fa30f0f2ed3c1b86ebbd5251f7c820f1beb0e5eed5fb8a9729" \ 11 | && buildDeps=' \ 12 | ca-certificates \ 13 | curl \ 14 | unzip \ 15 | ' \ 16 | && apt-get update \ 17 | && apt-get install -y --no-install-recommends $buildDeps \ 18 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 19 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 20 | && unzip -d /usr/local elixir-precompiled.zip \ 21 | && rm elixir-precompiled.zip \ 22 | && apt-get purge -y --auto-remove $buildDeps \ 23 | && rm -rf /var/lib/apt/lists/* 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.3/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM erlang:19-slim 3 | 4 | # elixir expects utf8. 5 | ENV ELIXIR_VERSION="v1.3.4" \ 6 | LANG=C.UTF-8 7 | 8 | RUN set -xe \ 9 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 10 | && ELIXIR_DOWNLOAD_SHA256="eac16c41b88e7293a31d6ca95b5d72eaec92349a1f16846344f7b88128587e10" \ 11 | && buildDeps=' \ 12 | ca-certificates \ 13 | curl \ 14 | unzip \ 15 | ' \ 16 | && apt-get update \ 17 | && apt-get install -y --no-install-recommends $buildDeps \ 18 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 19 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 20 | && unzip -d /usr/local elixir-precompiled.zip \ 21 | && rm elixir-precompiled.zip \ 22 | && apt-get purge -y --auto-remove $buildDeps \ 23 | && rm -rf /var/lib/apt/lists/* 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.4/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM erlang:19-slim 3 | 4 | # elixir expects utf8. 5 | ENV ELIXIR_VERSION="v1.4.5" \ 6 | LANG=C.UTF-8 7 | 8 | RUN set -xe \ 9 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ 10 | && ELIXIR_DOWNLOAD_SHA256="a740e634e3c68b1477e16d75a0fd400237a46c62ceb5d04551dbc46093a03f98"\ 11 | && buildDeps=' \ 12 | ca-certificates \ 13 | curl \ 14 | unzip \ 15 | ' \ 16 | && apt-get update \ 17 | && apt-get install -y --no-install-recommends $buildDeps \ 18 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 19 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 20 | && unzip -d /usr/local elixir-precompiled.zip \ 21 | && rm elixir-precompiled.zip \ 22 | && apt-get purge -y --auto-remove $buildDeps \ 23 | && rm -rf /var/lib/apt/lists/* 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.7/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.7.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="c7c87983e03a1dcf20078141a22355e88dadb26b53d3f3f98b9a9268687f9e20" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.8/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.8/otp-22-alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.7/otp-21.2-alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21.2-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.7.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="c7c87983e03a1dcf20078141a22355e88dadb26b53d3f3f98b9a9268687f9e20" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.8/otp-21.2-alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21.2-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.9/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.9.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.10/alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.10.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="8518c78f43fe36315dbe0d623823c2c1b7a025c114f3f4adbb48e04ef63f1d9f" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apk add --no-cache --virtual .build-deps $buildDeps \ 16 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 17 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 18 | && mkdir -p /usr/local/src/elixir \ 19 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 20 | && rm elixir-src.tar.gz \ 21 | && cd /usr/local/src/elixir \ 22 | && make install clean \ 23 | && apk del .build-deps 24 | 25 | CMD ["iex"] 26 | -------------------------------------------------------------------------------- /1.7/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.7.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="c7c87983e03a1dcf20078141a22355e88dadb26b53d3f3f98b9a9268687f9e20" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 19 | && mkdir -p /usr/local/src/elixir \ 20 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 21 | && rm elixir-src.tar.gz \ 22 | && cd /usr/local/src/elixir \ 23 | && make install clean \ 24 | && apt-get purge -y --auto-remove $buildDeps \ 25 | && rm -rf /var/lib/apt/lists/* 26 | 27 | CMD ["iex"] 28 | -------------------------------------------------------------------------------- /1.8/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.8.2" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="cf9bf0b2d92bc4671431e3fe1d1b0a0e5125f1a942cc4fdf7914b74f04efb835" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 19 | && mkdir -p /usr/local/src/elixir \ 20 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 21 | && rm elixir-src.tar.gz \ 22 | && cd /usr/local/src/elixir \ 23 | && make install clean \ 24 | && apt-get purge -y --auto-remove $buildDeps \ 25 | && rm -rf /var/lib/apt/lists/* 26 | 27 | CMD ["iex"] 28 | -------------------------------------------------------------------------------- /1.6/otp-21-alpine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:21-alpine 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.6.6" \ 5 | LANG=C.UTF-8 6 | 7 | # the OTP_VERSION is env set from erlang images, has values like `21.0.3` 8 | RUN set -xe \ 9 | && OTP_MAJOR_VERSION="${OTP_VERSION%%.*}" \ 10 | && ELIXIR_DOWNLOAD_URL="https://repo.hex.pm/builds/elixir/${ELIXIR_VERSION}-otp-${OTP_MAJOR_VERSION}.zip" \ 11 | && ELIXIR_DOWNLOAD_SHA256="72ba3a058c1e0986f0eaec738739e3ff8852b2f73c45b76ad9d9e0f2b4b8a729" \ 12 | && buildDeps=' \ 13 | ca-certificates \ 14 | curl \ 15 | unzip \ 16 | ' \ 17 | && apk add --no-cache --virtual .build-deps $buildDeps \ 18 | && curl -fSL -o elixir-precompiled.zip $ELIXIR_DOWNLOAD_URL \ 19 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-precompiled.zip" | sha256sum -c - \ 20 | && unzip -d /usr/local elixir-precompiled.zip \ 21 | && rm elixir-precompiled.zip \ 22 | && apk del .build-deps \ 23 | && mix local.hex --force \ 24 | && mix local.rebar --force 25 | 26 | CMD ["iex"] 27 | -------------------------------------------------------------------------------- /1.10/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.10.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="8518c78f43fe36315dbe0d623823c2c1b7a025c114f3f4adbb48e04ef63f1d9f" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 19 | && mkdir -p /usr/local/src/elixir \ 20 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 21 | && rm elixir-src.tar.gz \ 22 | && cd /usr/local/src/elixir \ 23 | && make install clean \ 24 | && apt-get purge -y --auto-remove $buildDeps \ 25 | && rm -rf /var/lib/apt/lists/* 26 | 27 | CMD ["iex"] 28 | -------------------------------------------------------------------------------- /1.9/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM erlang:22-slim 2 | 3 | # elixir expects utf8. 4 | ENV ELIXIR_VERSION="v1.9.4" \ 5 | LANG=C.UTF-8 6 | 7 | RUN set -xe \ 8 | && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \ 9 | && ELIXIR_DOWNLOAD_SHA256="f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139" \ 10 | && buildDeps=' \ 11 | ca-certificates \ 12 | curl \ 13 | make \ 14 | ' \ 15 | && apt-get update \ 16 | && apt-get install -y --no-install-recommends $buildDeps \ 17 | && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ 18 | && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \ 19 | && mkdir -p /usr/local/src/elixir \ 20 | && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \ 21 | && rm elixir-src.tar.gz \ 22 | && cd /usr/local/src/elixir \ 23 | && make install clean \ 24 | && apt-get purge -y --auto-remove $buildDeps \ 25 | && rm -rf /var/lib/apt/lists/* 26 | 27 | CMD ["iex"] 28 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: bash 2 | services: docker 3 | 4 | env: 5 | - DIR=master 6 | - DIR=1.10 7 | - DIR=1.10 VARIANT=slim 8 | - DIR=1.10 VARIANT=alpine 9 | - DIR=1.9 10 | - DIR=1.9 VARIANT=slim 11 | - DIR=1.9 VARIANT=alpine 12 | - DIR=1.8 13 | - DIR=1.8 VARIANT=slim 14 | - DIR=1.8 VARIANT=alpine 15 | - DIR=1.8 VARIANT=otp-22 16 | - DIR=1.8 VARIANT=otp-22-alpine 17 | - DIR=1.8 VARIANT=otp-21.2 18 | - DIR=1.8 VARIANT=otp-21.2-alpine 19 | - DIR=1.7 20 | - DIR=1.7 VARIANT=slim 21 | - DIR=1.7 VARIANT=alpine 22 | - DIR=1.7 VARIANT=otp-21.2 23 | - DIR=1.7 VARIANT=otp-21.2-alpine 24 | 25 | install: 26 | - curl -fsSL https://github.com/docker-library/official-images/archive/master.tar.gz | { 27 | mkdir -vp ./official-images/; 28 | tar -C ./official-images/ --strip-components=1 -zxvv official-images-master/test/; } 29 | 30 | before_script: 31 | - eval $(awk '/ELIXIR_VERSION=/ { sub(/@/, "-", $2); print $2; exit }' ${DIR}/${VARIANT}/Dockerfile) 32 | - image="elixir:${ELIXIR_VERSION#v}${VARIANT:+-$VARIANT}" 33 | 34 | script: 35 | - docker build --pull -t "$image" "${DIR}/${VARIANT}" 36 | - ./official-images/test/run.sh "$image" 37 | 38 | after_script: 39 | - docker images 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # About this Repo 2 | 3 | [![Docker Stars](https://img.shields.io/docker/stars/_/elixir.svg?style=flat-square)](https://hub.docker.com/_/elixir/) 4 | [![Docker Pulls](https://img.shields.io/docker/pulls/_/elixir.svg?style=flat-square)](https://hub.docker.com/_/elixir/) 5 | [![Image Layers](https://images.microbadger.com/badges/image/elixir.svg)](https://microbadger.com/images/elixir "Get your own image badge on microbadger.com") 6 | 7 | [![Build Status](https://travis-ci.org/c0b/docker-elixir.svg?branch=master)](https://travis-ci.org/c0b/docker-elixir) 8 | 9 | This is for elixir latest stable image and next -dev image. 10 | 11 | ```console 12 | REPOSITORY TAG IMAGE ID CREATED SIZE 13 | elixir v1.5.0-dev-b3e6c54 8948fc7adc11 11 minutes ago 755 MB 14 | elixir v1.4.0-rc.1-slim 0c49845329c2 29 minutes ago 292.4 MB 15 | elixir v1.4.0-rc.1 a50b16247e14 32 minutes ago 757 MB 16 | elixir 1.3 9e04e73b74d4 16 minutes ago 766.4 MB 17 | elixir 1.3-slim 7d901dfc3a5e 15 minutes ago 293.9 MB 18 | elixir 1.2 5165c41f0185 6 days ago 773.8 MB 19 | ``` 20 | 21 | ```console 22 | ➸ docker run -it --rm elixir:v1.5.0-dev 23 | Erlang/OTP 19 [erts-8.0] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] 24 | 25 | Interactive Elixir (1.5.0-dev) - press Ctrl+C to exit (type h() ENTER for help) 26 | iex(1)> System.version 27 | "1.5.0-dev" 28 | iex(2)> OptionParser.parse(["--verbose", "-v", "-v"], switches: [verbose: :count], aliases: [v: :verbose]) 29 | {[verbose: 3], [], []} 30 | iex(2)> OptionParser.parse(["--verbose", "-v", "-v"], switches: [verbose: :count], aliases: [v: :verbose]) 31 | {[verbose: 3], [], []} 32 | iex(3)> {opts, _, _} = v(2) 33 | {[verbose: 3], [], []} 34 | iex(4)> OptionParser.to_argv(opts, switches: [verbose: :count]) 35 | ["--verbose", "--verbose", "--verbose"] 36 | iex(5)> 37 | ``` 38 | 39 | ## How to get the latest elixir 40 | 41 | All the elixir's upstream stable versions are pushed over docker official hub 42 | (https://hub.docker.com/_/elixir/), while rc images and the latest development version are not; 43 | Like this 1.5.0-dev image, if you want to get the latest bleeding edge elixir code 44 | from master branch, you may get its git commit id (https://github.com/elixir-lang/elixir/) 45 | and sha256, modify the 1.5/Dockerfile locally and build it: 46 | 47 | ```console 48 | $ docker build -t elixir:1.5.0-dev ./1.5 49 | [...] 50 | ``` 51 | -------------------------------------------------------------------------------- /generate-stackbrew-library.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eu 3 | 4 | declare -a -r versions=( 1.10 1.9 1.8 1.7 1.6 1.5 1.4 ) 5 | declare -A -r aliases=( 6 | [1.10]='latest' 7 | ) 8 | 9 | # get the most recent commit which modified any of "$@" 10 | fileCommit() { 11 | git log -1 --format='format:%H' HEAD -- "$@" 12 | } 13 | 14 | # get the most recent commit which modified "$1/Dockerfile" or any file COPY'd from "$1/Dockerfile" 15 | dirCommit() { 16 | local dir="$1"; shift 17 | ( 18 | cd "$dir" 19 | fileCommit \ 20 | Dockerfile \ 21 | $(git show HEAD:./Dockerfile | awk ' 22 | toupper($1) == "COPY" { 23 | for (i = 2; i < NF; i++) { 24 | print $i 25 | } 26 | } 27 | ') 28 | ) 29 | } 30 | 31 | # prints "$2$1$3$1...$N" 32 | join() { 33 | local sep="$1"; shift 34 | local out; printf -v out "${sep//%/%%}%s" "$@" 35 | echo "${out#$sep}" 36 | } 37 | 38 | extractVersion() { 39 | awk ' 40 | $1 == "ENV" && /_VERSION/ { 41 | match($2, /"v(.*)"/) 42 | print substr($2, RSTART + 2, RLENGTH - 3) 43 | exit 44 | }' 45 | 46 | } 47 | 48 | self="${BASH_SOURCE##*/}" 49 | 50 | cat <<-EOH 51 | # this file is generated via https://github.com/c0b/docker-elixir/blob/$(fileCommit "$self")/$self 52 | 53 | Maintainers: . (@c0b) 54 | GitRepo: https://github.com/c0b/docker-elixir.git 55 | EOH 56 | 57 | for version in "${versions[@]}"; do 58 | commit="$(dirCommit "$version")" 59 | 60 | fullVersion="$(git show "$commit":"$version/Dockerfile" | extractVersion)" 61 | 62 | versionAliases=( $fullVersion ) 63 | while :; do 64 | localVersion="${fullVersion%.*}" 65 | if [ "$localVersion" = "$version" ]; then 66 | break 67 | fi 68 | versionAliases+=( $localVersion ) 69 | fullVersion=$localVersion 70 | # echo "${versionAliases[@]}" 71 | done 72 | versionAliases+=( $version ${aliases[$version]:-} ) 73 | 74 | for variant in '' slim alpine otp-{21,22}{,-alpine}; do 75 | dir="$version${variant:+/$variant}" 76 | [ -f "$dir/Dockerfile" ] || continue 77 | 78 | commit="$(dirCommit "$dir")" 79 | 80 | variantAliases=( "${versionAliases[@]}" ) 81 | if [ -n "$variant" ]; then 82 | variantAliases=( "${variantAliases[@]/%/-$variant}" ) 83 | variantAliases=( "${variantAliases[@]//latest-/}" ) 84 | fi 85 | 86 | variantArches=( amd64 arm32v7 arm64v8 i386 s390x ppc64le ) 87 | 88 | case "$version" in 89 | 1.[432]) variantArches=( ${variantArches[@]/ppc64le} ) 90 | esac 91 | 92 | echo 93 | cat <<-EOE 94 | Tags: $(join ', ' "${variantAliases[@]}") 95 | Architectures: $(join ', ' "${variantArches[@]}") 96 | GitCommit: $commit 97 | Directory: $dir 98 | EOE 99 | done 100 | done 101 | --------------------------------------------------------------------------------