|
|
@@ -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 [email protected]
|
|
|
+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)
|
|
|
+([email protected])1> erlang:system_info(otp_release).
|
|
|
+"18"
|
|
|
+([email protected])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
|
|
|
+```
|