ocaml/opam-dockerfiles

Name: opam-dockerfiles

Owner: OCaml

Description: Docker base builds of OPAM in various combinations

Created: 2015-12-21 12:35:52.0

Updated: 2018-05-20 03:19:04.0

Pushed: 2017-11-18 11:18:50.0

Homepage: null

Size: 135

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

This repository contains a set of Docker container definitions for various combination of OCaml and the OPAM package manager. The containers all come preinstalled with a working compiler and an OPAM environment. Using it as simple as:

er pull ocaml/opam
er run -ti ocaml/opam bash

…to get a working development environment. You can grab a specific distribution and test out external dependencies as well:

er run ocaml/opam:ubuntu-16.04_ocaml-4.04.0 opam depext -i cohttp lwt ssl

Distributions

The default latest tag points to the following distribution:

Distribution | Available Switches | Command ———— | —————— | ——- Debian | 4.02.3 🆂, 4.05.0 🅳 | docker pull ocaml/opam

The latest stable distributions are summarised below. The default OCaml version available in the container is marked with a 🅳 symbol, and a system installation of OCaml (as opposed to a locally compiled switch) is marked with a 🆂 symbol.

Distribution | Available Switches | Command ———— | —————— | ——- Alpine | 4.04.1 🆂, 4.05.0 🅳 | docker pull ocaml/opam:alpine CentOS | 4.01.0 🆂, 4.05.0 🅳 | docker pull ocaml/opam:centos Debian | 4.02.3 🆂, 4.05.0 🅳 | docker pull ocaml/opam:debian Fedora | 4.02.3 🆂, 4.05.0 🅳 | docker pull ocaml/opam:fedora OpenSUSE | 4.03.0 🆂, 4.05.0 🅳 | docker pull ocaml/opam:opensuse OracleLinux | 4.05.0 🅳 | docker pull ocaml/opam:oraclelinux Ubuntu | 4.02.3 🆂, 4.05.0 🅳 | docker pull ocaml/opam:ubuntu

There are also individual containers available for each combination of an OS distribution and an OCaml revision. These should be useful for testing and continuous integration, since they will remain pinned to these versions for as long as the upstream distribution is supported. Note that older releases may have security issues if upstream stops maintaining them.

Distro | Compiler | Command —— | ——– | ——- Alpine 3.5 | 4.01.0 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.01.0 Alpine 3.5 | 4.02.3 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.02.3 Alpine 3.5 | 4.03.0 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.03.0 Alpine 3.5 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.03.0_flambda Alpine 3.5 | 4.04.0 🆂🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.04.0 Alpine 3.5 | 4.04.1 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.04.1 Alpine 3.5 | 4.04.2 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.04.2 Alpine 3.5 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.04.2_flambda Alpine 3.5 | 4.05.0 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.05.0 Alpine 3.5 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.05.0_flambda Alpine 3.5 | 4.06.0 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.06.0 Alpine 3.5 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.5_ocaml-4.06.0_flambda Alpine 3.6 | 4.01.0 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.01.0 Alpine 3.6 | 4.02.3 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.02.3 Alpine 3.6 | 4.03.0 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.03.0 Alpine 3.6 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.03.0_flambda Alpine 3.6 | 4.04.0 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.04.0 Alpine 3.6 | 4.04.1 🆂🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.04.1 Alpine 3.6 | 4.04.2 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.04.2 Alpine 3.6 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.04.2_flambda Alpine 3.6 | 4.05.0 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.05.0 Alpine 3.6 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.05.0_flambda Alpine 3.6 | 4.06.0 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.06.0 Alpine 3.6 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:alpine-3.6_ocaml-4.06.0_flambda Alpine Stable (3.6) | 4.01.0 🅳 | docker pull ocaml/opam:alpine_ocaml-4.01.0 Alpine Stable (3.6) | 4.02.3 🅳 | docker pull ocaml/opam:alpine_ocaml-4.02.3 Alpine Stable (3.6) | 4.03.0 🅳 | docker pull ocaml/opam:alpine_ocaml-4.03.0 Alpine Stable (3.6) | 4.03.0+flambda 🅳 | docker pull ocaml/opam:alpine_ocaml-4.03.0_flambda Alpine Stable (3.6) | 4.04.0 🅳 | docker pull ocaml/opam:alpine_ocaml-4.04.0 Alpine Stable (3.6) | 4.04.1 🆂🅳 | docker pull ocaml/opam:alpine_ocaml-4.04.1 Alpine Stable (3.6) | 4.04.2 🅳 | docker pull ocaml/opam:alpine_ocaml-4.04.2 Alpine Stable (3.6) | 4.04.2+flambda 🅳 | docker pull ocaml/opam:alpine_ocaml-4.04.2_flambda Alpine Stable (3.6) | 4.05.0 🅳 | docker pull ocaml/opam:alpine_ocaml-4.05.0 Alpine Stable (3.6) | 4.05.0+flambda 🅳 | docker pull ocaml/opam:alpine_ocaml-4.05.0_flambda Alpine Stable (3.6) | 4.06.0 🅳 | docker pull ocaml/opam:alpine_ocaml-4.06.0 Alpine Stable (3.6) | 4.06.0+flambda 🅳 | docker pull ocaml/opam:alpine_ocaml-4.06.0_flambda CentOS 6 | 4.01.0 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.01.0 CentOS 6 | 4.02.3 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.02.3 CentOS 6 | 4.03.0 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.03.0 CentOS 6 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.03.0_flambda CentOS 6 | 4.04.0 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.04.0 CentOS 6 | 4.04.1 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.04.1 CentOS 6 | 4.04.2 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.04.2 CentOS 6 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.04.2_flambda CentOS 6 | 4.05.0 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.05.0 CentOS 6 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.05.0_flambda CentOS 6 | 4.06.0 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.06.0 CentOS 6 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:centos-6_ocaml-4.06.0_flambda CentOS 7 | 4.01.0 🆂🅳 | docker pull ocaml/opam:centos-7_ocaml-4.01.0 CentOS 7 | 4.02.3 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.02.3 CentOS 7 | 4.03.0 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.03.0 CentOS 7 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.03.0_flambda CentOS 7 | 4.04.0 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.04.0 CentOS 7 | 4.04.1 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.04.1 CentOS 7 | 4.04.2 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.04.2 CentOS 7 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.04.2_flambda CentOS 7 | 4.05.0 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.05.0 CentOS 7 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.05.0_flambda CentOS 7 | 4.06.0 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.06.0 CentOS 7 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:centos-7_ocaml-4.06.0_flambda Debian 7 (Wheezy) | 4.01.0 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.01.0 Debian 7 (Wheezy) | 4.02.3 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.02.3 Debian 7 (Wheezy) | 4.03.0 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.03.0 Debian 7 (Wheezy) | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.03.0_flambda Debian 7 (Wheezy) | 4.04.0 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.04.0 Debian 7 (Wheezy) | 4.04.1 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.04.1 Debian 7 (Wheezy) | 4.04.2 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.04.2 Debian 7 (Wheezy) | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.04.2_flambda Debian 7 (Wheezy) | 4.05.0 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.05.0 Debian 7 (Wheezy) | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.05.0_flambda Debian 7 (Wheezy) | 4.06.0 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.06.0 Debian 7 (Wheezy) | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-7_ocaml-4.06.0_flambda Debian 8 (Jessie) | 4.01.0 🆂🅳 | docker pull ocaml/opam:debian-8_ocaml-4.01.0 Debian 8 (Jessie) | 4.02.3 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.02.3 Debian 8 (Jessie) | 4.03.0 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.03.0 Debian 8 (Jessie) | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.03.0_flambda Debian 8 (Jessie) | 4.04.0 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.04.0 Debian 8 (Jessie) | 4.04.1 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.04.1 Debian 8 (Jessie) | 4.04.2 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.04.2 Debian 8 (Jessie) | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.04.2_flambda Debian 8 (Jessie) | 4.05.0 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.05.0 Debian 8 (Jessie) | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.05.0_flambda Debian 8 (Jessie) | 4.06.0 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.06.0 Debian 8 (Jessie) | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-8_ocaml-4.06.0_flambda Debian 9 (Buster) | 4.01.0 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.01.0 Debian 9 (Buster) | 4.02.3 🆂🅳 | docker pull ocaml/opam:debian-10_ocaml-4.02.3 Debian 9 (Buster) | 4.03.0 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.03.0 Debian 9 (Buster) | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.03.0_flambda Debian 9 (Buster) | 4.04.0 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.04.0 Debian 9 (Buster) | 4.04.1 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.04.1 Debian 9 (Buster) | 4.04.2 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.04.2 Debian 9 (Buster) | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.04.2_flambda Debian 9 (Buster) | 4.05.0 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.05.0 Debian 9 (Buster) | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.05.0_flambda Debian 9 (Buster) | 4.06.0 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.06.0 Debian 9 (Buster) | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-10_ocaml-4.06.0_flambda Debian 9 (Stretch) | 4.01.0 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.01.0 Debian 9 (Stretch) | 4.02.3 🆂🅳 | docker pull ocaml/opam:debian-9_ocaml-4.02.3 Debian 9 (Stretch) | 4.03.0 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.03.0 Debian 9 (Stretch) | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.03.0_flambda Debian 9 (Stretch) | 4.04.0 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.04.0 Debian 9 (Stretch) | 4.04.1 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.04.1 Debian 9 (Stretch) | 4.04.2 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.04.2 Debian 9 (Stretch) | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.04.2_flambda Debian 9 (Stretch) | 4.05.0 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.05.0 Debian 9 (Stretch) | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.05.0_flambda Debian 9 (Stretch) | 4.06.0 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.06.0 Debian 9 (Stretch) | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-9_ocaml-4.06.0_flambda Debian Stable | 4.01.0 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.01.0 Debian Stable | 4.02.3 🆂🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.02.3 Debian Stable | 4.03.0 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.03.0 Debian Stable | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.03.0_flambda Debian Stable | 4.04.0 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.04.0 Debian Stable | 4.04.1 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.04.1 Debian Stable | 4.04.2 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.04.2 Debian Stable | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.04.2_flambda Debian Stable | 4.05.0 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.05.0 Debian Stable | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.05.0_flambda Debian Stable | 4.06.0 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.06.0 Debian Stable | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-stable_ocaml-4.06.0_flambda Debian Testing | 4.01.0 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.01.0 Debian Testing | 4.02.3 🆂🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.02.3 Debian Testing | 4.03.0 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.03.0 Debian Testing | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.03.0_flambda Debian Testing | 4.04.0 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.04.0 Debian Testing | 4.04.1 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.04.1 Debian Testing | 4.04.2 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.04.2 Debian Testing | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.04.2_flambda Debian Testing | 4.05.0 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.05.0 Debian Testing | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.05.0_flambda Debian Testing | 4.06.0 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.06.0 Debian Testing | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-testing_ocaml-4.06.0_flambda Debian Unstable | 4.01.0 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.01.0 Debian Unstable | 4.02.3 🆂🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.02.3 Debian Unstable | 4.03.0 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.03.0 Debian Unstable | 4.03.0+flambda 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.03.0_flambda Debian Unstable | 4.04.0 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.04.0 Debian Unstable | 4.04.1 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.04.1 Debian Unstable | 4.04.2 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.04.2 Debian Unstable | 4.04.2+flambda 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.04.2_flambda Debian Unstable | 4.05.0 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.05.0 Debian Unstable | 4.05.0+flambda 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.05.0_flambda Debian Unstable | 4.06.0 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.06.0 Debian Unstable | 4.06.0+flambda 🅳 | docker pull ocaml/opam:debian-unstable_ocaml-4.06.0_flambda Fedora 22 | 4.01.0 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.01.0 Fedora 22 | 4.02.3 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.02.3 Fedora 22 | 4.03.0 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.03.0 Fedora 22 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.03.0_flambda Fedora 22 | 4.04.0 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.04.0 Fedora 22 | 4.04.1 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.04.1 Fedora 22 | 4.04.2 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.04.2 Fedora 22 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.04.2_flambda Fedora 22 | 4.05.0 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.05.0 Fedora 22 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.05.0_flambda Fedora 22 | 4.06.0 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.06.0 Fedora 22 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:fedora-22_ocaml-4.06.0_flambda Fedora 23 | 4.01.0 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.01.0 Fedora 23 | 4.02.3 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.02.3 Fedora 23 | 4.03.0 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.03.0 Fedora 23 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.03.0_flambda Fedora 23 | 4.04.0 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.04.0 Fedora 23 | 4.04.1 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.04.1 Fedora 23 | 4.04.2 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.04.2 Fedora 23 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.04.2_flambda Fedora 23 | 4.05.0 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.05.0 Fedora 23 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.05.0_flambda Fedora 23 | 4.06.0 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.06.0 Fedora 23 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:fedora-23_ocaml-4.06.0_flambda Fedora 24 | 4.01.0 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.01.0 Fedora 24 | 4.02.3 🆂🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.02.3 Fedora 24 | 4.03.0 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.03.0 Fedora 24 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.03.0_flambda Fedora 24 | 4.04.0 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.04.0 Fedora 24 | 4.04.1 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.04.1 Fedora 24 | 4.04.2 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.04.2 Fedora 24 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.04.2_flambda Fedora 24 | 4.05.0 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.05.0 Fedora 24 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.05.0_flambda Fedora 24 | 4.06.0 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.06.0 Fedora 24 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:fedora-24_ocaml-4.06.0_flambda Fedora 25 | 4.01.0 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.01.0 Fedora 25 | 4.02.3 🆂🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.02.3 Fedora 25 | 4.03.0 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.03.0 Fedora 25 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.03.0_flambda Fedora 25 | 4.04.0 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.04.0 Fedora 25 | 4.04.1 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.04.1 Fedora 25 | 4.04.2 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.04.2 Fedora 25 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.04.2_flambda Fedora 25 | 4.05.0 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.05.0 Fedora 25 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.05.0_flambda Fedora 25 | 4.06.0 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.06.0 Fedora 25 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:fedora-25_ocaml-4.06.0_flambda OpenSUSE 42.1 | 4.01.0 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.01.0 OpenSUSE 42.1 | 4.02.3 🆂🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.02.3 OpenSUSE 42.1 | 4.03.0 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.03.0 OpenSUSE 42.1 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.03.0_flambda OpenSUSE 42.1 | 4.04.0 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.04.0 OpenSUSE 42.1 | 4.04.1 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.04.1 OpenSUSE 42.1 | 4.04.2 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.04.2 OpenSUSE 42.1 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.04.2_flambda OpenSUSE 42.1 | 4.05.0 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.05.0 OpenSUSE 42.1 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.05.0_flambda OpenSUSE 42.1 | 4.06.0 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.06.0 OpenSUSE 42.1 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.1_ocaml-4.06.0_flambda OpenSUSE 42.2 | 4.01.0 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.01.0 OpenSUSE 42.2 | 4.02.3 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.02.3 OpenSUSE 42.2 | 4.03.0 🆂🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.03.0 OpenSUSE 42.2 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.03.0_flambda OpenSUSE 42.2 | 4.04.0 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.04.0 OpenSUSE 42.2 | 4.04.1 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.04.1 OpenSUSE 42.2 | 4.04.2 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.04.2 OpenSUSE 42.2 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.04.2_flambda OpenSUSE 42.2 | 4.05.0 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.05.0 OpenSUSE 42.2 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.05.0_flambda OpenSUSE 42.2 | 4.06.0 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.06.0 OpenSUSE 42.2 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:opensuse-42.2_ocaml-4.06.0_flambda OracleLinux 7 | 4.01.0 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.01.0 OracleLinux 7 | 4.02.3 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.02.3 OracleLinux 7 | 4.03.0 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.03.0 OracleLinux 7 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.03.0_flambda OracleLinux 7 | 4.04.0 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.04.0 OracleLinux 7 | 4.04.1 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.04.1 OracleLinux 7 | 4.04.2 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.04.2 OracleLinux 7 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.04.2_flambda OracleLinux 7 | 4.05.0 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.05.0 OracleLinux 7 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.05.0_flambda OracleLinux 7 | 4.06.0 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.06.0 OracleLinux 7 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:oraclelinux-7_ocaml-4.06.0_flambda Ubuntu 12.04 | 4.01.0 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.01.0 Ubuntu 12.04 | 4.02.3 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.02.3 Ubuntu 12.04 | 4.03.0 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.03.0 Ubuntu 12.04 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.03.0_flambda Ubuntu 12.04 | 4.04.0 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.04.0 Ubuntu 12.04 | 4.04.1 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.04.1 Ubuntu 12.04 | 4.04.2 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.04.2 Ubuntu 12.04 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.04.2_flambda Ubuntu 12.04 | 4.05.0 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.05.0 Ubuntu 12.04 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.05.0_flambda Ubuntu 12.04 | 4.06.0 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.06.0 Ubuntu 12.04 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-12.04_ocaml-4.06.0_flambda Ubuntu 14.04 | 4.01.0 🆂🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.01.0 Ubuntu 14.04 | 4.02.3 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.02.3 Ubuntu 14.04 | 4.03.0 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.03.0 Ubuntu 14.04 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.03.0_flambda Ubuntu 14.04 | 4.04.0 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.04.0 Ubuntu 14.04 | 4.04.1 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.04.1 Ubuntu 14.04 | 4.04.2 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.04.2 Ubuntu 14.04 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.04.2_flambda Ubuntu 14.04 | 4.05.0 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.05.0 Ubuntu 14.04 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.05.0_flambda Ubuntu 14.04 | 4.06.0 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.06.0 Ubuntu 14.04 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-14.04_ocaml-4.06.0_flambda Ubuntu 16.04 | 4.01.0 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.01.0 Ubuntu 16.04 | 4.02.3 🆂🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.02.3 Ubuntu 16.04 | 4.03.0 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.03.0 Ubuntu 16.04 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.03.0_flambda Ubuntu 16.04 | 4.04.0 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.04.0 Ubuntu 16.04 | 4.04.1 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.04.1 Ubuntu 16.04 | 4.04.2 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.04.2 Ubuntu 16.04 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.04.2_flambda Ubuntu 16.04 | 4.05.0 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.05.0 Ubuntu 16.04 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.05.0_flambda Ubuntu 16.04 | 4.06.0 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.06.0 Ubuntu 16.04 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-16.04_ocaml-4.06.0_flambda Ubuntu 17.04 | 4.01.0 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.01.0 Ubuntu 17.04 | 4.02.3 🆂🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.02.3 Ubuntu 17.04 | 4.03.0 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.03.0 Ubuntu 17.04 | 4.03.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.03.0_flambda Ubuntu 17.04 | 4.04.0 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.04.0 Ubuntu 17.04 | 4.04.1 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.04.1 Ubuntu 17.04 | 4.04.2 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.04.2 Ubuntu 17.04 | 4.04.2+flambda 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.04.2_flambda Ubuntu 17.04 | 4.05.0 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.05.0 Ubuntu 17.04 | 4.05.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.05.0_flambda Ubuntu 17.04 | 4.06.0 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.06.0 Ubuntu 17.04 | 4.06.0+flambda 🅳 | docker pull ocaml/opam:ubuntu-17.04_ocaml-4.06.0_flambda

Using the Containers

Each container comes with an initialised OPAM repository pointing to the central repository. The default user in the container is called opam, and sudo is configured to allow password-less access to root.

To build an environment for the Jane Street Core library on the latest stable OCaml, a simple Dockerfile looks like this:

 ocaml/opam
 depext -i core

You can build and use this image locally for development by saving the Dockerfile and:

er build -t ocaml-core .
er run -ti ocaml-core bash

You can also use the Docker volume sharing to map in source code from your host into the container to persist the results of your build. You can also construct more specific Dockerfiles that use the full range of OPAM commands for a custom development environment. For example, to build the MirageOS bleeding edge OCaml environment, this Dockerfile will add in a custom remote:

 ocaml/opam:ubuntu-15.10_ocaml-4.02.3
 remote add dev git://github.com/mirage/mirage-dev
 depext -i mirage

Contributing

To discuss these containers, please e-mail Anil Madhavapeddy anil@recoil.org or the OPAM development list at opam-devel@lists.ocaml.org. Contributions of Dockerfiles for additional OS distributions are most welcome! The files here are all autogenerated from the ocaml-docker-scripts repository, so please do not submit any PRs directly to this location. The containers are built and hosted on the Docker Hub ocaml organisation.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.