Skip to content

Instantly share code, notes, and snippets.

@Gazler
Last active October 21, 2016 05:36
Show Gist options
  • Save Gazler/23b0f561ad2a84d6a191 to your computer and use it in GitHub Desktop.
Save Gazler/23b0f561ad2a84d6a191 to your computer and use it in GitHub Desktop.
Phoenix Dockerfile
FROM ubuntu
RUN apt-get update
RUN apt-get install -y wget unzip git make
RUN wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
RUN dpkg -i erlang-solutions_1.0_all.deb
RUN apt-get update
RUN apt-get -y install erlang
RUN locale-gen en_US en_US.UTF-8
ENV LANG en_US.utf-8
RUN git clone https://github.com/elixir-lang/elixir.git
RUN cd elixir && git checkout v0.14.3 && make install
RUN git clone https://github.com/phoenixframework/phoenix.git && cd phoenix && git checkout v0.3.1 && yes | mix local.hex && yes | mix local.rebar && mix do deps.get, compile
RUN cd phoenix && mix phoenix.new your_app ../your_app
RUN cd your_app && mix do deps.get, compile
CMD cd your_app && mix phoenix.start
Are you sure you want to install archive https://hex.pm/installs/hex.ez? [Yn] * creating /.mix/archives/hex.ez
* creating /.mix/rebar
* Getting cowboy (git://github.com/extend/cowboy.git)
Cloning into '/phoenix/deps/cowboy'...
remote: Reusing existing pack: 6423, done.
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6430 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6430/6430), 4.96 MiB | 0 bytes/s, done.
Resolving deltas: 100% (3778/3778), done.
Checking connectivity... done.
* Getting ex_doc (git://github.com/elixir-lang/ex_doc.git)
Cloning into '/phoenix/deps/ex_doc'...
remote: Reusing existing pack: 2901, done.
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2905 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2905/2905), 706.24 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1246/1246), done.
Checking connectivity... done.
* Getting cowlib (git://github.com/extend/cowlib.git)
Cloning into '/phoenix/deps/cowlib'...
remote: Reusing existing pack: 185, done.
remote: Total 185 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (185/185), 79.84 KiB | 0 bytes/s, done.
Resolving deltas: 100% (108/108), done.
Checking connectivity... done.
* Getting ranch (git://github.com/extend/ranch.git)
Cloning into '/phoenix/deps/ranch'...
remote: Reusing existing pack: 859, done.
remote: Total 859 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (859/859), 273.83 KiB | 0 bytes/s, done.
Resolving deltas: 100% (504/504), done.
Checking connectivity... done.
* Getting plug (package)
Fetching package (http://s3.hex.pm/tarballs/plug-0.5.1.tar)
Unpacked package tarball (/.mix/.package-cache/plug-0.5.1.tar)
* Getting inflex (package)
Fetching package (http://s3.hex.pm/tarballs/inflex-0.2.4.tar)
Unpacked package tarball (/.mix/.package-cache/inflex-0.2.4.tar)
* Getting ex_conf (package)
Fetching package (http://s3.hex.pm/tarballs/ex_conf-0.1.3.tar)
Unpacked package tarball (/.mix/.package-cache/ex_conf-0.1.3.tar)
* Getting jazz (package)
Fetching package (http://s3.hex.pm/tarballs/jazz-0.1.2.tar)
Unpacked package tarball (/.mix/.package-cache/jazz-0.1.2.tar)
==> jazz
Compiled lib/jazz.ex
Compiled lib/jazz/decoder.ex
Compiled lib/jazz/parser.ex
Compiled lib/jazz/encoder.ex
Generated jazz.app
==> ex_conf
Compiled lib/ex_conf.ex
Compiled lib/ex_conf/utils.ex
Compiled lib/ex_conf/config.ex
Generated ex_conf.app
==> ranch (compile)
Compiled src/ranch_transport.erl
Compiled src/ranch_acceptor.erl
Compiled src/ranch_listener_sup.erl
Compiled src/ranch_protocol.erl
Compiled src/ranch_sup.erl
Compiled src/ranch_ssl.erl
Compiled src/ranch_tcp.erl
Compiled src/ranch_app.erl
Compiled src/ranch_acceptors_sup.erl
Compiled src/ranch_server.erl
Compiled src/ranch_conns_sup.erl
Compiled src/ranch.erl
==> plug
Compiled lib/plug.ex
Compiled lib/plug/adapters/cowboy.ex
Compiled lib/plug/builder.ex
== Compilation error on file lib/plug/conn/adapter.ex ==
** (RuntimeError) cannot compile Plug because the :cowboy application is not available. Please ensure it is listed as a dependency before the plug one.
lib/plug/conn/adapter.ex:4: (file)
(elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/2
(elixir) lib/kernel/parallel_compiler.ex:93: anonymous fn/3 in Kernel.ParallelCompiler.spawn_compilers/8
could not compile dependency plug, mix compile failed. You can recompile this dependency with `mix deps.compile plug` or update it with `mix deps.update plug`
Are you sure you want to install archive https://hex.pm/installs/hex.ez? [Yn] * creating /.mix/archives/hex.ez
* creating /.mix/rebar
* Getting cowboy (git://github.com/extend/cowboy.git)
Cloning into '/phoenix/deps/cowboy'...
remote: Reusing existing pack: 6423, done.
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6430 (delta 0), reused 0 (delta 0) /s s
Receiving objects: 100% (6430/6430), 4.96 MiB | 1.92 MiB/s, done.
Resolving deltas: 100% (3778/3778), done.
Checking connectivity... done.
* Getting ex_doc (git://github.com/elixir-lang/ex_doc.git)
Cloning into '/phoenix/deps/ex_doc'...
remote: Reusing existing pack: 2901, done.
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2905 (delta 0), reused 0 (delta 0) KiB/s
Receiving objects: 100% (2905/2905), 706.24 KiB | 246.00 KiB/s, done.
Resolving deltas: 100% (1246/1246), done.
Checking connectivity... done.
* Getting cowlib (git://github.com/extend/cowlib.git)
Cloning into '/phoenix/deps/cowlib'...
remote: Reusing existing pack: 185, done.
remote: Total 185 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (185/185), 79.84 KiB | 0 bytes/s, done.
Resolving deltas: 100% (108/108), done.
Checking connectivity... done.
* Getting ranch (git://github.com/extend/ranch.git)
Cloning into '/phoenix/deps/ranch'...
remote: Reusing existing pack: 859, done.
remote: Total 859 (delta 0), reused 0 (delta 0) KiB/s
Receiving objects: 100% (859/859), 273.83 KiB | 289.00 KiB/s, done.
Resolving deltas: 100% (504/504), done.
Checking connectivity... done.
* Getting plug (package)
Fetching package (http://s3.hex.pm/tarballs/plug-0.5.1.tar)
Unpacked package tarball (/.mix/.package-cache/plug-0.5.1.tar)
* Getting inflex (package)
Fetching package (http://s3.hex.pm/tarballs/inflex-0.2.4.tar)
Unpacked package tarball (/.mix/.package-cache/inflex-0.2.4.tar)
* Getting ex_conf (package)
Fetching package (http://s3.hex.pm/tarballs/ex_conf-0.1.3.tar)
Unpacked package tarball (/.mix/.package-cache/ex_conf-0.1.3.tar)
* Getting jazz (package)
Fetching package (http://s3.hex.pm/tarballs/jazz-0.1.2.tar)
Unpacked package tarball (/.mix/.package-cache/jazz-0.1.2.tar)
==> inflex
Compiled lib/inflex/underscore.ex
Compiled lib/inflex/parameterize.ex
Compiled lib/inflex/camelize.ex
Compiled lib/inflex/pluralize.ex
Compiled lib/inflex.ex
Generated inflex.app
==> ranch (compile)
Compiled src/ranch_transport.erl
Compiled src/ranch_protocol.erl
Compiled src/ranch_acceptor.erl
Compiled src/ranch_acceptors_sup.erl
Compiled src/ranch.erl
Compiled src/ranch_sup.erl
Compiled src/ranch_ssl.erl
Compiled src/ranch_listener_sup.erl
Compiled src/ranch_app.erl
Compiled src/ranch_server.erl
Compiled src/ranch_tcp.erl
Compiled src/ranch_conns_sup.erl
==> jazz
Compiled lib/jazz.ex
Compiled lib/jazz/parser.ex
Compiled lib/jazz/decoder.ex
Compiled lib/jazz/encoder.ex
Generated jazz.app
==> ex_conf
Compiled lib/ex_conf.ex
Compiled lib/ex_conf/utils.ex
Compiled lib/ex_conf/config.ex
Generated ex_conf.app
==> cowlib (compile)
Compiled src/cow_http_hd.erl
Compiled src/cow_spdy.erl
Compiled src/cow_mimetypes.erl
Compiled src/cow_http_te.erl
Compiled src/cow_cookie.erl
Compiled src/cow_qs.erl
Compiled src/cow_date.erl
Compiled src/cow_multipart.erl
Compiled src/cow_http.erl
==> cowboy (compile)
Compiled src/cowboy_sub_protocol.erl
Compiled src/cowboy_middleware.erl
Compiled src/cowboy_websocket_handler.erl
Compiled src/cowboy_static.erl
Compiled src/cowboy_clock.erl
Compiled src/cowboy_app.erl
Compiled src/cowboy_loop_handler.erl
Compiled src/cowboy_bstr.erl
Compiled src/cowboy_sup.erl
Compiled src/cowboy_spdy.erl
Compiled src/cowboy_router.erl
Compiled src/cowboy_websocket.erl
Compiled src/cowboy_req.erl
Compiled src/cowboy_http_handler.erl
Compiled src/cowboy.erl
Compiled src/cowboy_rest.erl
Compiled src/cowboy_handler.erl
Compiled src/cowboy_protocol.erl
Compiled src/cowboy_http.erl
warning: passing types to struct fields with :: is deprecated, please define a type explicitly instead
lib/plug/conn.ex:87: Plug.Conn (module)
==> plug
Compiled lib/plug.ex
Compiled lib/plug/builder.ex
Compiled lib/plug/adapters/cowboy.ex
Compiled lib/plug/conn/adapter.ex
Compiled lib/plug/head.ex
Compiled lib/plug/conn/query.ex
Compiled lib/plug/conn/cookies.ex
Compiled lib/plug/conn/unfetched.ex
Compiled lib/plug/message_verifier.ex
Compiled lib/plug/method_override.ex
Compiled lib/plug/conn/utils.ex
Compiled lib/plug/exceptions.ex
Compiled lib/plug/router.ex
Compiled lib/plug/session.ex
Compiled lib/plug/parsers/urlencoded.ex
Compiled lib/plug/session/store.ex
Compiled lib/plug/adapters/test/conn.ex
Compiled lib/plug/session/ets.ex
Compiled lib/plug/test.ex
Compiled lib/plug/session/cookie.ex
Compiled lib/plug/router/utils.ex
Compiled lib/plug/wrapper.ex
Compiled lib/plug/parsers.ex
Compiled lib/plug/upload.ex
Compiled lib/plug/conn.ex
Compiled lib/plug/adapters/cowboy/handler.ex
Compiled lib/plug/parsers/multipart.ex
Compiled lib/plug/adapters/cowboy/conn.ex
Compiled lib/plug/static.ex
Compiled lib/plug/mime.ex
Generated plug.app
==> phoenix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment