docker devenv WIP
This commit is contained in:
parent
6202776133
commit
52cf31fccd
2 changed files with 61 additions and 0 deletions
7
docker/docker-compose.yaml
Normal file
7
docker/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
version: 3.8
|
||||
services:
|
||||
elixir_dev:
|
||||
build:
|
||||
context: ./elixir_dev
|
||||
ports:
|
||||
- 4000:4000
|
||||
54
docker/elixir_dev/.Dockerfile
Normal file
54
docker/elixir_dev/.Dockerfile
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
# install ubuntu packages
|
||||
RUN apt-get update -q \
|
||||
&& apt-get install -y \
|
||||
git \
|
||||
curl \
|
||||
locales \
|
||||
build-essential \
|
||||
autoconf \
|
||||
libncurses5-dev \
|
||||
libwxgtk3.0-dev \
|
||||
libgl1-mesa-dev \
|
||||
libglu1-mesa-dev \
|
||||
libpng-dev \
|
||||
libssh-dev \
|
||||
unixodbc-dev \
|
||||
&& apt-get clean
|
||||
|
||||
# install asdf and its plugins
|
||||
# ASDF will only correctly install plugins into the home directory as of 0.7.5
|
||||
# so .... Just go with it.
|
||||
ENV ASDF_ROOT /root/.asdf
|
||||
ENV PATH "${ASDF_ROOT}/bin:${ASDF_ROOT}/shims:$PATH"
|
||||
|
||||
RUN git clone https://github.com/asdf-vm/asdf.git ${ASDF_ROOT} --branch v0.7.5 \
|
||||
&& asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang \
|
||||
&& asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir \
|
||||
&& asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs \
|
||||
&& ${ASDF_ROOT}/plugins/nodejs/bin/import-release-team-keyring
|
||||
|
||||
# set the locale
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
# install erlang
|
||||
ENV ERLANG_VERSION 22.0.7
|
||||
RUN asdf install erlang ${ERLANG_VERSION} \
|
||||
&& asdf global erlang ${ERLANG_VERSION}
|
||||
|
||||
# install elixir
|
||||
ENV ELIXIR_VERSION 1.10.3-otp-21
|
||||
RUN asdf install elixir ${ELIXIR_VERSION} \
|
||||
&& asdf global elixir ${ELIXIR_VERSION}
|
||||
|
||||
# install local Elixir hex and rebar
|
||||
RUN mix local.hex --force \
|
||||
&& mix local.rebar --force
|
||||
|
||||
# install nodejs
|
||||
ENV NODEJS_VERSION 12.8.4
|
||||
RUN asdf install nodejs ${NODEJS_VERSION} \
|
||||
&& asdf global nodejs ${NODEJS_VERSION}
|
||||
Reference in a new issue