diff options
author | kballou <kballou@devnulllabs.io> | 2017-05-02 18:13:18 -0600 |
---|---|---|
committer | kballou <kballou@devnulllabs.io> | 2017-05-23 09:35:59 -0600 |
commit | 5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21 (patch) | |
tree | ae8eb682cc3a46139f32298eaf43f1f1eaeff68f | |
parent | bf3fb4e869fc1218c00bacf9ff63c7871d479f64 (diff) | |
download | docker-erlang-5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21.tar.gz docker-erlang-5b1f7286d1bd7bbb7b8b70e1d29c419c92be6c21.tar.xz |
Add initial docker files
-rw-r--r-- | 18/Dockerfile | 51 | ||||
-rw-r--r-- | 18/alpine/Dockerfile | 51 | ||||
-rw-r--r-- | 18/alpine/development/Dockerfile | 51 | ||||
-rw-r--r-- | 18/alpine/development/Makefile | 5 | ||||
-rw-r--r-- | 18/alpine/onbuild/Dockerfile | 51 | ||||
-rw-r--r-- | 18/development/Dockerfile | 51 | ||||
-rw-r--r-- | 18/development/Makefile | 5 | ||||
-rw-r--r-- | 18/onbuild/Dockerfile | 51 | ||||
-rw-r--r-- | 18/options | 6 | ||||
-rw-r--r-- | 19/Dockerfile | 51 | ||||
-rw-r--r-- | 19/alpine/Dockerfile | 51 | ||||
-rw-r--r-- | 19/alpine/development/Dockerfile | 51 | ||||
-rw-r--r-- | 19/alpine/development/Makefile | 5 | ||||
-rw-r--r-- | 19/alpine/onbuild/Dockerfile | 51 | ||||
-rw-r--r-- | 19/development/Dockerfile | 51 | ||||
-rw-r--r-- | 19/development/Makefile | 5 | ||||
-rw-r--r-- | 19/onbuild/Dockerfile | 51 | ||||
-rw-r--r-- | 19/options | 6 | ||||
-rw-r--r-- | Makefile | 25 | ||||
-rw-r--r-- | template/Dockerfile | 51 | ||||
-rw-r--r-- | template/alpine/Dockerfile | 77 | ||||
-rw-r--r-- | template/alpine/development/Dockerfile | 65 | ||||
-rw-r--r-- | template/development/Dockerfile | 53 | ||||
-rwxr-xr-x | template/generate.sh | 7 | ||||
-rw-r--r-- | template/onbuild/Dockerfile | 12 |
25 files changed, 934 insertions, 0 deletions
diff --git a/18/Dockerfile b/18/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/alpine/Dockerfile b/18/alpine/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/alpine/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/alpine/development/Dockerfile b/18/alpine/development/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/alpine/development/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/alpine/development/Makefile b/18/alpine/development/Makefile new file mode 100644 index 0000000..40938f8 --- /dev/null +++ b/18/alpine/development/Makefile @@ -0,0 +1,5 @@ +TAG=kennyballou/erlang-alpine-dev:18 +.PHONY: build + +build: Dockerfile + @docker build -t ${TAG} . diff --git a/18/alpine/onbuild/Dockerfile b/18/alpine/onbuild/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/alpine/onbuild/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/development/Dockerfile b/18/development/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/development/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/development/Makefile b/18/development/Makefile new file mode 100644 index 0000000..6525711 --- /dev/null +++ b/18/development/Makefile @@ -0,0 +1,5 @@ +TAG=kennyballou/erlang-dev:18 +.PHONY: build + +build: Dockerfile + @docker build -t ${TAG} . diff --git a/18/onbuild/Dockerfile b/18/onbuild/Dockerfile new file mode 100644 index 0000000..eb9769b --- /dev/null +++ b/18/onbuild/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="18.3.4.4" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-18.3.4.4.tar.gz" -o otp-src.tar.gz \ + && echo "3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/18/options b/18/options new file mode 100644 index 0000000..545afe2 --- /dev/null +++ b/18/options @@ -0,0 +1,6 @@ +OTP_VERSION=18.3.4.4 +OTP_SRC_SUM=3956f5c4fcd05848c7fe048d5c4ef7eaf002a8312cba0674150c5a10ab0e9f04 +REBAR_VERSION=2.6.2 +REBAR_SRC_SUM=ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 +REBAR3_VERSION=3.2.0 +REBAR3_SRC_SUM=78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 diff --git a/19/Dockerfile b/19/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/alpine/Dockerfile b/19/alpine/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/alpine/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/alpine/development/Dockerfile b/19/alpine/development/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/alpine/development/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/alpine/development/Makefile b/19/alpine/development/Makefile new file mode 100644 index 0000000..d63b016 --- /dev/null +++ b/19/alpine/development/Makefile @@ -0,0 +1,5 @@ +TAG=kennyballou/erlang-alpine-dev:19 +.PHONY: build + +build: Dockerfile + @docker build -t ${TAG} . diff --git a/19/alpine/onbuild/Dockerfile b/19/alpine/onbuild/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/alpine/onbuild/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/development/Dockerfile b/19/development/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/development/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/development/Makefile b/19/development/Makefile new file mode 100644 index 0000000..3f3850a --- /dev/null +++ b/19/development/Makefile @@ -0,0 +1,5 @@ +TAG=kennyballou/erlang-dev:19 +.PHONY: build + +build: Dockerfile + @docker build -t ${TAG} . diff --git a/19/onbuild/Dockerfile b/19/onbuild/Dockerfile new file mode 100644 index 0000000..fdf168a --- /dev/null +++ b/19/onbuild/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="19.0" +ENV REBAR_VERSION="2.6.2" +ENV REBAR3_VERSION="3.2.0" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-19.0.tar.gz" -o otp-src.tar.gz \ + && echo "107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=/home/kb/workspace/docker-erlang ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/19/options b/19/options new file mode 100644 index 0000000..04a634d --- /dev/null +++ b/19/options @@ -0,0 +1,6 @@ +OTP_VERSION=19.0 +OTP_SRC_SUM=107b629aa7aea1bf76df0197629a50ce4fea61143ebb0e9a1b633b1fbaf9beb7 +REBAR_VERSION=2.6.2 +REBAR_SRC_SUM=ed2a49300f2f8ae7c95284e53e95dd85430952d2843ce224a17db2b312964400 +REBAR3_VERSION=3.2.0 +REBAR3_SRC_SUM=78ad27372eea6e215790e161ae46f451c107a58a019cc7fb4551487903516455 @@ -0,0 +1,25 @@ +DOCKERFILES_SRC:=template/Dockerfile + +DOCKERFILES:= \ + 18/Dockerfile \ + 18/onbuild/Dockerfile \ + 18/development/Dockerfile \ + 18/alpine/Dockerfile \ + 18/alpine/onbuild/Dockerfile \ + 18/alpine/development/Dockerfile \ + 19/Dockerfile \ + 19/onbuild/Dockerfile \ + 19/development/Dockerfile \ + 19/alpine/Dockerfile \ + 19/alpine/onbuild/Dockerfile \ + 19/alpine/development/Dockerfile + +.PHONY: all +all: ${DOCKERFILES} + +$(DOCKERFILES): template/Dockerfile 18/options 19/options + bash template/generate.sh $(shell echo $@ | cut -d '/' -f1)/options $^ > $@ + +.PHONY: clean +clean: + -rm $(DOCKERFILES) diff --git a/template/Dockerfile b/template/Dockerfile new file mode 100644 index 0000000..163f11f --- /dev/null +++ b/template/Dockerfile @@ -0,0 +1,51 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VERSION="${OTP_VERSION}" +ENV REBAR_VERSION="${REBAR_VERSION}" +ENV REBAR3_VERSION="${REBAR3_VERSION}" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && curl -fSL "https://github.com/erlang/otp/archive/OTP-${OTP_VERSION}.tar.gz" -o otp-src.tar.gz \ + && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" -o rebar-src.tar.gz \ + && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" -o rebar3-src.tar.gz \ + && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=$PWD ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && yum -y groups erase "Development Tools" + +CMD ["erl"] diff --git a/template/alpine/Dockerfile b/template/alpine/Dockerfile new file mode 100644 index 0000000..914f6e2 --- /dev/null +++ b/template/alpine/Dockerfile @@ -0,0 +1,77 @@ +# DOCKER-VERSION 1.9.1 +FROM alpine:3.4 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VER="${OTP_VER}" +ENV REBAR_VERSION="${REBAR_VERSION}" +ENV REBAR3_VERSION="${REBAR3_VERSION}" + +RUN apk update \ + && apk add \ + autoconf \ + bash \ + curl \ + gcc \ + libedit \ + m4 \ + make \ + musl-dev \ + ncurses-dev \ + ncurses-libs \ + ncurses-terminfo \ + ncurses-terminfo-base \ + openssl-dev \ + openssl \ + perl \ + tar \ + unixodbc-dev \ + && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \ + && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \ + && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \ + && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \ + && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=$PWD ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src \ + && apk del \ + autoconf \ + bash \ + curl \ + gcc \ + m4 \ + make \ + musl-dev \ + ncurses-dev \ + openssl-dev \ + tar \ + unixodbc-dev + +CMD ["erl"] diff --git a/template/alpine/development/Dockerfile b/template/alpine/development/Dockerfile new file mode 100644 index 0000000..c6e55cd --- /dev/null +++ b/template/alpine/development/Dockerfile @@ -0,0 +1,65 @@ +# DOCKER-VERSION 1.9.1 +FROM alpine:3.4 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VER="${OTP_VER}" +ENV REBAR_VERSION="${REBAR_VERSION}" +ENV REBAR3_VERSION="${REBAR3_VERSION}" + +RUN apk update \ + && apk add \ + autoconf \ + bash \ + curl \ + gcc \ + libedit \ + m4 \ + make \ + musl-dev \ + ncurses-dev \ + ncurses-libs \ + ncurses-terminfo \ + ncurses-terminfo-base \ + openssl-dev \ + openssl \ + perl \ + tar \ + unixodbc-dev \ + && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \ + && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \ + && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \ + && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \ + && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=$PWD ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src + +CMD ["erl"] diff --git a/template/development/Dockerfile b/template/development/Dockerfile new file mode 100644 index 0000000..3515a93 --- /dev/null +++ b/template/development/Dockerfile @@ -0,0 +1,53 @@ +# DOCKER-VERSION 1.9.1 +FROM centos:7 +MAINTAINER kballou@devnulllabs.io + +ENV LANG="en_US.UTF-8" +ENV OTP_VER="${OTP_VER}" +ENV REBAR_VERSION="${REBAR_VERSION}" +ENV REBAR3_VERSION="${REBAR3_VERSION}" + +RUN set -xe \ + && yum -y groups install "Development Tools" \ + && yum -y install ncurses \ + ncurses-devel \ + unixODBC \ + unixODBC-devel \ + openssl-devel \ + && OTP_SRC_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VER}.tar.gz" \ + && curl -fSL "$OTP_SRC_URL" -o otp-src.tar.gz \ + && echo "${OTP_SRC_SUM} otp-src.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src/otp-src \ + && tar -zxf otp-src.tar.gz -C /usr/src/otp-src --strip-components=1 \ + && rm otp-src.tar.gz \ + && cd /usr/src/otp-src \ + && ./otp_build autoconf \ + && ./configure \ + && make -j 4 \ + && make install \ + && find /usr/local -name examples | xargs rm -rf \ + && cd /usr/src \ + && rm -rf /usr/src/otp-src \ + && REBAR_SRC_URL="https://github.com/rebar/rebar/archive/${REBAR_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar-src \ + && curl -fSL "$REBAR_SRC_URL" -o rebar-src.tar.gz \ + && echo "${REBAR_SRC_SUM} rebar-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar-src.tar.gz -C /usr/src/rebar-src --strip-components=1 \ + && rm rebar-src.tar.gz \ + && cd /usr/src/rebar-src \ + && ./bootstrap \ + && install -v ./rebar /usr/local/bin \ + && cd /usr/src \ + && rm -rf /usr/src/rebar-src \ + && REBAR3_SRC_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION##*@}.tar.gz" \ + && mkdir -p /usr/src/rebar3-src \ + && curl -fSL "$REBAR3_SRC_URL" -o rebar3-src.tar.gz \ + && echo "${REBAR3_SRC_SUM} rebar3-src.tar.gz" | sha256sum -c - \ + && tar -zxf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \ + && rm rebar3-src.tar.gz \ + && cd /usr/src/rebar3-src \ + && HOME=$PWD ./bootstrap \ + && install -v ./rebar3 /usr/local/bin \ + && rm -rf /usr/src/rebar3-src + +CMD ["erl"] diff --git a/template/generate.sh b/template/generate.sh new file mode 100755 index 0000000..b1e1b48 --- /dev/null +++ b/template/generate.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Template Generation Script + +VARIABLES=$1 +TEMPLATE=$2 + +env $(cat ${VARIABLES} | xargs) envsubst < ${TEMPLATE} diff --git a/template/onbuild/Dockerfile b/template/onbuild/Dockerfile new file mode 100644 index 0000000..c8b3db9 --- /dev/null +++ b/template/onbuild/Dockerfile @@ -0,0 +1,12 @@ +FROM kennyballou/erlang:${OTP_VER} +MAINTAINER kballou@devnulllabs.io + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +ONBUILD COPY rebar.config /usr/src/app/ +ONBUILD RUN rebar3 update +ONBUILD COPY . /usr/src/app +ONBUILD RUN rebar3 release + +CMD ["rebar3", "shell"] |