Docker Engine
Run a Viash component on a Docker backend engine. By specifying which dependencies your component needs, users will be able to build a docker container from scratch using the setup flag, or pull it from a docker repository.
Example:
engines:
- type: docker
image: "bash:4.0"
setup:
- type: apt
packages: [ curl ]
cmd
Type: Either String or List of String
Default: Empty
Set the default command being executed when running the Docker container.
Examples:
Set CMD using the exec format, which is the prefered form.
cmd: ["echo", "$HOME"]
Set CMD using the shell format.
cmd: "echo $HOME"
entrypoint
Type: Either String or List of String
Default: []
Override the entrypoint of the base container. Default set ENTRYPOINT []
.
Examples:
Disable the default override.
entrypoint:
Entrypoint of the container in the exec format, which is the prefered form.
entrypoint: ["top", "-b"]
Entrypoint of the container in the shell format.
entrypoint: "top -b"
id
Type: String
Default: docker
Name of the engine. As with all engines, you can give a engine a different name. By specifying id: foo
, you can target this engine (only) by specifying ...
in any of the Viash commands.
Examples:
id: foo
id: foo
image
Type: String
The base container to start from. You can also add the tag here if you wish.
Example:
image: "bash:4.0"
namespace_separator
Type: String
Default: /
The separator between the namespace and the name of the component, used for determining the image name. Default: "/"
.
Example:
namespace_separator: "_"
organization
Type: String
Default: Empty
Deprecated since 0.9.0. Planned removal at 0.10.0. Use the full container name in image
instead.
Name of a start container’s organization.
registry
Type: String
Default: Empty
Deprecated since 0.9.0. Planned removal at 0.10.0. Use the full container name in image
instead.
The URL to the a custom Docker registry where the start container is located.
Example:
registry: https://my-docker-registry.org
setup
Type: List of Requirements
Default: Empty
A list of requirements for installing the following types of packages:
The order in which these dependencies are specified determines the order in which they will be installed.
tag
Type: String
Default: Empty
Deprecated since 0.9.0. Planned removal at 0.10.0. Use the full container name in image
instead.
Specify a Docker image based on its tag.
Example:
tag: 4.0
target_image
Type: String
Default: Empty
If anything is specified in the setup section, running the ---setup
will result in an image with the name of <target_image>:<version>
. If nothing is specified in the setup
section, simply image
will be used. Advanced usage only.
Example:
target_image: myfoo
target_image_source
Type: String
Default: Empty
The source of the target image. This is used for defining labels in the dockerfile.
Example:
target_image_source: https://github.com/foo/bar
target_organization
Type: String
Default: Empty
The organization set in the resulting image. Advanced usage only.
Example:
target_organization: viash-io
target_package
Type: String
Default: Empty
The package name set in the resulting image. Advanced usage only.
Example:
target_package: tools
target_registry
Type: String
Default: Empty
The URL where the resulting image will be pushed to. Advanced usage only.
Example:
target_registry: https://my-docker-registry.org
target_tag
Type: String
Default: Empty
The tag the resulting image gets. Advanced usage only.
Example:
target_tag: 0.5.0
test_setup
Type: List of Requirements
Default: Empty
Additional requirements specific for running unit tests.
type
Type: String
Specifies the type of the engine.