I'm trying to set my elixir-phoenix app with postgresql database to run with Docker. This is what my Dockerfile looks like:
# ./Dockerfile
# Starting from the official Elixir 1.5.2 image:
# https://hub.docker.com/_/elixir/
FROM elixir:1.5.2
ENV DEBIAN_FRONTEND=noninteractive
# Install hex
RUN mix local.hex
# Install rebar
RUN mix local.rebar
# Install the Phoenix framework itself
RUN mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
# Install NodeJS 6.x and the NPM
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y -q nodejs
# Set /lib as workdir
WORKDIR /lib
And this is my docker-compose.yml file:
web:
  build: .
  dockerfile: Dockerfile 
  env_file: .env 
  command: mix phx.server # Start the server if no other command is specified
  environment:
    - MIX_ENV=dev
    - PORT=4000
    - PG_HOST=postgres
    - PG_USERNAME=postgres
  volumes:
    - .:/lib 
  ports:
    - "4000:4000"
  links:
    - postgres
test:
  image: phoenixbootstrap_web
  env_file: .env
  command: mix test
  environment:
    - MIX_ENV=test 
    - PORT=4001
    - PG_HOST=postgres
    - PG_USERNAME=postgres
  volumes_from:
    - web
  links:
    - postgres
postgres:
  image: postgres:10.0
  ports:
    - "5432"
The image builds successfully, but when I try to install the dependencies with the following command:
docker-compose run web mix do deps.get
I get these Error:
standard_init_linux.go:185: exec user process caused "no such file or directory"
PS: I found a couple of answers like this one, pointing out a missing line at the beginning of a bash file but it doesn't seem to be my case. I run no bash script and my error appears in line 185, not 179.
 
    