ebonite.ext.docker.build_context module

class ebonite.ext.docker.build_context.DockerBuildArgs(base_image: Union[str, Callable[[str], str]] = None, python_version: str = None, templates_dir: Union[str, List[str]] = None, run_cmd: Union[bool, str] = None, package_install_cmd: str = None, prebuild_hook: Callable[[str], Any] = None)[source]

Bases: object

Container for DockerBuild arguments

Parameters:
  • base_image – base image for the built image in form of a string or function from python version, default: python:{python_version}
  • python_version – Python version to use, default: version of running interpreter
  • templates_dir – directory or list of directories for Dockerfile templates, default: ./docker_templates - pre_install.j2 - Dockerfile commands to run before pip - post_install.j2 - Dockerfile commands to run after pip - post_copy.j2 - Dockerfile commands to run after pip and Ebonite distribution copy
  • run_cmd – command to run in container, default: sh run.sh
  • package_install_cmd – command to install packages. Default is apt-get, change it for other package manager
  • prebuild_hook – callable to call before build, accepts python version. Used for pre-building server images
prebuild_hook
templates_dir
package_install_cmd
run_cmd
python_version
base_image
update(other: ebonite.ext.docker.build_context.DockerBuildArgs)[source]
class ebonite.ext.docker.build_context.DockerBuildContext(provider: ebonite.build.provider.base.PythonProvider, params: ebonite.ext.docker.base.DockerImage, force_overwrite=False, **kwargs)[source]

Bases: ebonite.build.builder.base.PythonBuildContext

PythonBuilder implementation for building docker containers

Parameters:
  • provider – PythonProvider instance
  • params – params for docker image to be built
  • force_overwrite – if false, raise error if image already exists
  • kwargs – for possible keys, look at DockerBuildArgs
build(env: ebonite.ext.docker.base.DockerEnv) → docker.models.images.Image[source]