Sign inSign up

neoeinstein/fsharp-alpine

By neoeinstein

•Updated over 10 years ago

Alpine Linux configured with the latest F# release built from source on Mono

Image
0

10K+

neoeinstein/fsharp-alpine repository overview

Docker Stars Docker Pulls

⁠Mono (F#) Docker image

This image is based on Alpine Linux image, which is only a 5MB image, and contains Mono⁠ as well as the F# compiler and interpreter.

This image is sourced from the Mono docker image⁠.

WARNING: That Mono image was compiled for Arch Linux and is ported to Alpine via glibc hack⁠! It is being used because the current Mono package for Alpine Linux (based on musl instead of glibc) generates a segfault when bootstrapping the F# compiler.

Total size of this image is only:

⁠Usage Example

By default, the image will open the F# Interpreter and await input.

$ docker run -i -t neoeinstein/fsharp-alpine

You can also invoke the interpreter to execute a file:

$ echo 'let img = "Alpine Linux"' > qq.fsx
$ echo 'printfn "Hello World from fsharpi on %s" img' >> qq.fsx
$ docker run --rm -v "$(pwd)":/mnt neoeinstein/fsharp-alpine fsharpi --exec /mnt/qq.fsx

That same file can be compiled into an executable and run:

$ echo 'let img = "Alpine Linux" in printfn "Hello World from fsharpc on %s" img' > qq.fs
$ docker run --rm -v "$(pwd)":/mnt neoeinstein/fsharp-alpine sh -c "fsharpc -o:/mnt/qq.exe /mnt/qq.fs && mono /mnt/qq.exe"

Tag summary

Content type

Image

Digest

Size

74.3 MB

Last updated

over 10 years ago

docker pull neoeinstein/fsharp-alpine