Docker Platform
Deprecated since 0.9.0. Planned removal at 0.10.0. Use ‘engines’ and ‘runners’ instead.
Run a Viash component on a Docker backend platform. 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:
platforms:
  - type: docker
    image: "bash:4.0"
    setup:
      - type: apt
        packages: [ curl ]chown
Type: Boolean
Default: True
Deprecated since 0.8.0. Removed since 0.8.0. Compability not provided with the Runners functionality.
In Linux, files created by a Docker container will be owned by root. With chown: true, Viash will automatically change the ownership of output files (arguments with type: file and direction: output) to the user running the Viash command after execution of the component. Default value: true.
Example:
chown: falsecmd
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
As with all platforms, you can give a platform a different name. By specifying id: foo, you can target this platform (only) by specifying -p foo in any of the Viash commands.
Example:
id: fooimage
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
Name of a container’s organization.
port
Type: String / List of String
Default: Empty
A list of enabled ports. This doesn’t change the Dockerfile but gets added as a command-line argument at runtime.
Example:
port:
  - 80
  - 8080registry
Type: String
Default: Empty
The URL to the a custom Docker registry
Example:
registry: https://my-docker-registry.orgresolve_volume
Type: DockerResolveVolume
Default: Automatic
Enables or disables automatic volume mapping. Enabled when set to Automatic or disabled when set to Manual. Default: Automatic.
run_args
Type: String / List of String
Default: Empty
Add docker run arguments.
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.
setup_strategy
Type: DockerSetupStrategy
Default: ifneedbepullelsecachedbuild
The Docker setup strategy to use when building a container.
| Strategy | Description | 
|---|---|
| alwaysbuild/build/b | Always build the image from the dockerfile. This is the default setup strategy. | 
| alwayscachedbuild/cachedbuild/cb | Always build the image from the dockerfile, with caching enabled. | 
| ifneedbebuild | Build the image if it does not exist locally. | 
| ifneedbecachedbuild | Build the image with caching enabled if it does not exist locally, with caching enabled. | 
| alwayspull/pull/p | Try to pull the container from Docker Hub or the specified docker registry. | 
| alwayspullelsebuild/pullelsebuild | Try to pull the image from a registry and build it if it does not exist. | 
| alwayspullelsecachedbuild/pullelsecachedbuild | Try to pull the image from a registry and build it with caching if it does not exist. | 
| ifneedbepull | If the image does not exist locally, pull the image. | 
| ifneedbepullelsebuild | Do nothing if the image exists locally. Else, try to pull the image from a registry. Otherwise build the image from scratch. | 
| ifneedbepullelsecachedbuild | Do nothing if the image exists locally. Else, try to pull the image from a registry. Otherwise build the image with caching enabled. | 
| push | Push the container to Docker Hub or the specified docker registry. | 
| pushifnotpresent | Push the container to Docker Hub or the specified docker registry if the tag does not exist yet. | 
| donothing/meh | Do not build or pull anything. | 
Example:
setup_strategy: alwaysbuildtag
Type: String
Default: Empty
Specify a Docker image based on its tag.
Example:
tag: 4.0target_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: myfootarget_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/bartarget_organization
Type: String
Default: Empty
The organization set in the resulting image. Advanced usage only.
Example:
target_organization: viash-iotarget_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.orgtarget_tag
Type: String
Default: Empty
The tag the resulting image gets. Advanced usage only.
Example:
target_tag: 0.5.0test_setup
Type: List of Requirements
Default: Empty
Additional requirements specific for running unit tests.
type
Type: String
Specifies the type of the platform.
workdir
Type: String
Default: Empty
The working directory when starting the container. This doesn’t change the Dockerfile but gets added as a command-line argument at runtime.
Example:
workdir: /home/user