Shells in OCaml
1FROM ocaml/opam:alpine-ocaml-5.3 AS builder
2WORKDIR /home/opam/src
3COPY --chown=opam merry.opam .
4RUN opam pin . -yn
5RUN opam install . --deps-only --with-test
6COPY --chown=opam . .
7RUN opam exec -- dune build --profile=release
8
9FROM ocaml/opam:alpine-ocaml-5.3
10
11# Copy across msh as the new shell!
12COPY --from=builder /home/opam/src/_build/default/src/bin/main.exe /bin/msh
13RUN sudo ln -sf /bin/msh /bin/sh
14SHELL [ "/bin/msh", "-c" ]
15ENTRYPOINT [ "/bin/msh" ]