Manually define the image to inherit FROM
The directory to scan for relevant files
The package that this generator generates a Dockerfile for
The Python Major version, i.e. 2 or 3
An instance of PythonSystemPackageLookup
with which to look up system dependencies of Python packages
The instance of IUrlFetcher to fetch URLs
Check if this Generator's package applies (if it is Python).
A Bash command to run to install required apt keys
The Ubuntu system version being used
Generate a list of system (apt) packages by looking up with this.systemPackageLookup
.
A list of any required apt repositories
The Ubuntu system version being used
Generate a base image identifier
Name of the base image
Version of the base image
Get the name of an Ubuntu release
The base image name e.g. ubuntu:18.04
A list of environment variables to set in the image
as name
, value
pairs
The Ubuntu system version being used
Does a path exist within the project folder?
The path within the folder
Fetch content from a URL
The URL to fetch
Request options
Get a list of packages in this.package.softwareRequirements
which have have a particular runtimePlatform
value
Generate a Dockerfile for a SoftwareEnvironment
instance
Should a comments be added to the Dockerfile?
Should relevant Stencila language packages be installed in the image?
Build the contents of a requirements.txt
file by joining the Python package name to its version specifier.
Get a list of paths that match a pattern in the project folder.
The glob pattern
Generate the right pip command to install the requirements, appends the correct Python major version to pip
.
Write out the generated requirements content to GENERATED_REQUIREMENTS_FILE
or none exists, just instruct the
copy of a requirements.txt
file as part of the Dockerfile. If that does not exist, then no COPY should be done.
The files to copy into the Docker image
Copies all *.py
files to the container
Return the pythonMajorVersion
(as string) if it is not 2, otherwise return an empty string (if it is 2). This is
for appending to things like pip{3} or python{3}.
Read a file within the project folder
The path within the folder
Get the pip command to install the Stencila package
Write to a file within the project folder
The path within the folder
The content to write to the file
Generated using TypeDoc
A Dockerfile generator for Python packages