Releases: ocurrent/ocaml-dockerfile
Improve CentOS6 support
Add a more modern Git in CentOS 6 to make it work with OPAM remote refs.
Support generation in pwd for Dockerfiles
Dockerfile_distro.generate_dockerfiles
goes into the current
directory instead with each Dockerfile suffixed with the release
name. There is a newgenerate_dockerfiles_in_directories
for the old behaviour.- Move slow ARM distribution out of the default distro list into
Dockerfile_distro.slow_distros
. - Add optional
?pin
argument todockerfile_distro
generation
to make it easier to customise version of packages installed.
Cleaner API and ARM improvements
- Rearrange OCaml installation commands to be in
Dockerfile
instead
of inDockerfile_opam
(which is now purely OPAM installation). - Create a
~/.ssh
folder with the right permissions in all distros. - Ensure rsync is installed in all the Debian-based containers.
- Correctly label the ARMv7 containers with the
arch=armv7
label. - Use ppx to build instead of camlp4. Now depends on OCaml 4.02+.
Add cloud solver and ARM/4.03 builds
- Remove redundant
apk update
from Alpine definition. - Switch default cloud solver to one dedicated to these images so
they can updated in sync (the default cloud one is getting hit
by many bulk build hits in parallel and cannot cope with the load). - Add
distro_of_tag
andgenerate_dockerfile
toDockerfile_distro
. - Add
nano
to images to satisfyopam pin
going interactive. - Also include
4.03.0
flambda build. - Add ARMv7hf Raspbian distro (Wheezy and Jessie).
Support for distro generation and many API cleanups
- Add
dev-repo
metadata to OPAM file. - Add support for installing the cloud solver for platforms where aspcud is not available.
- Add CMD entrypoints for containers.
- Alpine: add
bash
in container (requested by @justincormack) - Debian: correct non-interactive typos and add
dialog
in container - Remove
onbuild
triggers from OPAM containers as it inhibits caching (suggestion via @talex5) - Include specific Debian versions (v7,8,9) in addition to the stable/unstable streams.
- Add
Dockerfile.crunch
to reduce the number of layers by combining
repeatedRUN
commands. - Set Debian
apt-get
commands tononinteractive
. - Add support for Ubuntu 12.04 LTS and also bleeding edge 16.04.
- Add sexplib convertors for
Dockerfile.t
. - Add
Dockerfile_distro
module to handle supported online distributions. - Add
Dockerfile.label
to support Docker 1.6 metadata labels. - Add
generate_dockerfiles_in_git_branches
to make it easier
to use Docker Hub dynamic branch support to build all permutations. - Correctly escape the
run_exec
,entrypoint_exec
andcmd_exec
JSON arrays so that the strings are quoted. - Run
yum clean
after a Yum installation. - Add support for Alpine Linux.
- Cleanup OPAM build directory to save container space after building from source.
- Remove support for OpenSUSE remotes, as it is no longer maintained.
More flexible OPAM source installation
Add a ?prefix
argument to install_opam_from_source
to let it be installed in a custom location such as /usr
(useful for CentOS).
Add OPAM utility modules
Add Dockerfile_opam
and Dockerfile_opam_cmdliner
modules with specific rules for managing OPAM installations with Dockerfiles.
Initial public release
Docker is a Linux container manager that can build images
automatically by reading the instructions from a Dockerfile
. A Dockerfile is
a text document that contains all the commands you would normally execute
manually in order to build a Docker image. By calling docker build
from your
terminal, you can have Docker build your image step-by-step, executing the
instructions successively. Read more at http://docker.com
This library provides a typed OCaml interface to generating Dockerfiles
programmatically without having to resort to lots of shell scripting and
awk/sed-style assembly.
- HTML Documentation: https://avsm.github.io/ocaml-dockerfile
- Source:: https://github.com/avsm/ocaml-dockerfile
- Issues: https://github.com/avsm/ocaml-dockerfile/issues
- Email: [email protected]