diff --git a/erlang/README-short.txt b/erlang/README-short.txt new file mode 100644 index 000000000000..7b49d76cedb2 --- /dev/null +++ b/erlang/README-short.txt @@ -0,0 +1 @@ +Erlang is a programming language used to build massively scalable systems with high availability. diff --git a/erlang/content.md b/erlang/content.md new file mode 100644 index 000000000000..a8dbf5ddd8b9 --- /dev/null +++ b/erlang/content.md @@ -0,0 +1,48 @@ +# What is Erlang? + +Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. + +> [wikipedia.org/wiki/Erlang_(programming_language)](https://en.wikipedia.org/wiki/Erlang_%28programming_language%29) + +%%LOGO%% + +# How to use this image + +## Run it as the REPL + +```console +➸ docker run -it --rm erlang +Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] + +Eshell V7.1 (abort with ^G) +1> uptime(). +3 seconds +ok +2> % use Ctrl+G to call the shell switch +User switch command + --> ? + c [nn] - connect to job + i [nn] - interrupt job + k [nn] - kill job + j - list all jobs + s [shell] - start local shell + r [node [shell]] - start remote shell + q - quit erlang + ? | h - this message + --> q +➸ docker run -it --rm -h erlang.local erlang erl -name snode@erlang.local +Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] + +Eshell V7.1 (abort with ^G) +(snode@erlang.local)1> erlang:system_info(otp_release). +"18" +(snode@erlang.local)2> +User switch command +--> q +``` + +## Run a single Erlang escript + +```console +$ docker run -it --rm --name %%REPO%%-inst1 -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%REPO%% escript your-escript.erl +``` diff --git a/erlang/license.md b/erlang/license.md new file mode 100644 index 000000000000..8d5bca8059d8 --- /dev/null +++ b/erlang/license.md @@ -0,0 +1,4 @@ +View [license information](http://www.erlang.org/about.html) for the software contained in this image. + +1. From OTP 18 and above, Erlang is released under Apache License 2.0 +2. The previous are released under [Erlang Public License (EPL)](http://www.erlang.org/EPLICENSE). EPL is a derivative work of the Mozilla Public License (MPL). It contains terms which differ from MPL, mainly in terms of jurisdiction. The license is constructed in accordance with the laws of Sweden. diff --git a/erlang/logo.png b/erlang/logo.png new file mode 100644 index 000000000000..2563441d2744 Binary files /dev/null and b/erlang/logo.png differ diff --git a/update.sh b/update.sh index 2caab7ce8e6e..573a3576bbd0 100755 --- a/update.sh +++ b/update.sh @@ -33,6 +33,7 @@ declare -A otherRepos=( [crux]='https://github.com/therealprologic/docker-crux' [debian]='https://github.com/tianon/docker-brew-debian' [docker-dev]='https://github.com/docker/docker' + [erlang]='https://github.com/c0b/docker-erlang-otp' [fedora]='https://github.com/lsm5/docker-brew-fedora' [gazebo]='https://github.com/osrf/docker_images' [glassfish]='https://github.com/aws/aws-eb-glassfish'