A collection of Dockerfiles
for CodeOcean.
Compatible runner managements:
Each execution environment should be derived from docker_exec_phusion
docker_exec_phusion
: Base image for all execution environmentsco_execenv_<langauge>
: An image used by CodeOcean for the specific programming language and version
All supported images are built for the following architectures:
amd64
arm64
The following images are probably not compatible with Poseidon or other runner managements. Their use is discouraged.
ubuntu-base
: Deprecated ubuntu base imageubuntu-<language>
: Deprecated images previously used by CodeOcean
Deprecated images are only available for the amd64
architecture.
Each image derived from docker_exec_phusion
should be compatible with a non-privileged user called user
. Any user code will be executed as this user with the /sbin/setuser
script provided by the base image.
docker build --no-cache -t openhpi/docker_exec_phusion docker_exec_phusion/.
docker build --no-cache -t openhpi/co_execenv_java:17 co_execenv_java/17/.
# ...
docker run -it openhpi/docker_exec_phusion bash
All images are published to Docker Hub and always support the amd64
and arm64
architectures.
docker buildx build --platform linux/amd64,linux/arm64 --tag openhpi/docker_exec_java:17 --push co_execenv_java/17/.
Bug reports and pull requests are welcome on GitHub at https://github.com/openHPI/dockerfiles. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
Everyone interacting in this project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.