22.15. docker-context - Docker (OCI) Execution Context

The following documentation is for Docker (OCI) Execution Context (docker-context) content package at version v4.11.0-alpha00.6+g726a24f6aac009443561668a3a05c8405ccf9570.

The OCI container execution context plugin (docker-context) provides the methods needed implement Context support based on OCI compatible container images. This plugin provider supports creating and running contexts as Linux containers using either the Podman or Docker container management systems. It provides actions for loading and saving OCI compliant images and creating and destroying containers.

If you are using Docker, then the user you are running dr-provision must be have access to the Docker daemon. See https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user for more details.

If you are using Podman, and you are running as a non-root user, you must make sure that the user you are running as has the ability to enter and leave user namespaces. See https://github.com/containers/libpod/blob/master/docs/podman.1.md#rootless-mode for more information on what is required.

There are specific requirements that the images this plugin uses must meet:

  • All of the tools that any tasks using this container require must

    be added during the container build process. In general, it is a good idea to include bash, jq, and curl.

  • The image must be tagged with the name referred to in the Image

    field of the Context and a version.

  • The ENTRYPOINT will be bind-mounted automatically by the docker-context plugin using

    /usr/bin/drpcli machines processjobs

  • PATH in the container will default to

    PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

See https://provision.readthedocs.io/en/latest/doc/arch/provision.html#context fore more information.

22.15.1. Object Specific Documentation