> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# dockerRunContainer

> Run a new container and then optionally destroys the container when complete. Useful for running functions as containers. This operation uses Docker C

Run a new container and then optionally destroys the container when complete.  Useful for running functions as containers. This operation uses Docker CLI, it requires the docker executable to be on the path of the docker endpoint.

# Target Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Docker Unix Socket</td><td>`FDDKR_UNIX_SOCKET`</td><td>No</td><td>The socket the Docker daemon listens on. Required if Docker Server and Docker Port are not set. Default value is \[/var/run/docker.sock]</td></tr><tr><td>Docker Server Address</td><td>`FDDKR_DOCKER_SERVER`</td><td>No</td><td>The IP address of the Docker server.</td></tr><tr><td>Docker Port</td><td>`FDDKR_DOCKER_PORT`</td><td>No</td><td>The port the Docker service is listening on.</td></tr><tr><td>Docker Registry Account</td><td>`FDDKR_REGISTRY_ACCOUNT_CODE`</td><td>No</td><td>The Docker Registry account to use. Required when docker login is needed to pull the image from a remote registry. The plugin input `FDDKR_INP_REGISTRY_ACCOUNT_CODE` takes precedence over this property.Please refer to the link to set up the Docker Registry Account: [Docker Registry Setup For Cloud Providers](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-plugin-guides/flexdeploy-docker-plugin-guide/docker-plugin-appendix/docker-registry-setup-for-cloud-providers.md)</td></tr></tbody></table>

# Project Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Docker Repository Name</td><td>`FDDKR_IMAGE_NAME`</td><td>No</td><td>The Docker image use when running the container. The plugin input `FDDKR_INP_IMAGE_NAME` takes precedence over this property.</td></tr><tr><td>Docker Image Tag</td><td>`FDDKR_IMAGE_TAG`</td><td>No</td><td>The tag to use when running the container. The plugin input `FDDKR_INP_IMAGE_TAG` takes precedence over this property.</td></tr></tbody></table>

# Inputs

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Input Name**</th><th>**Input Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Container Name</td><td>`FDDKR_INP_CONTAINER_NAME`</td><td>No</td><td>The name of the container to be created and run.</td></tr><tr><td>Docker Repository Name</td><td>`FDDKR_INP_IMAGE_NAME`</td><td>No</td><td>The Docker image use when running the container. This input will take priority over the `FDDKR_IMAGE_NAME` project property.Note: If `FDDKR_IMAGE_NAME` or `FDDKR_INP_IMAGE_NAME` is specified with preceding “**/**”, then the registry address from `FDDKR_REGISTRY_ACCOUNT_CODE or FDDKR_INP_REGISTRY_ACCOUNT_CODE` will get auto prepended to form the full image name.***Example**: *`FDDKR_INP_IMAGE_NAME`*=/nginximage and registry address corresponding to the *`FDDKR_REGISTRY_ACCOUNT_CODE`* is *[*898334.dkr.ecr.us-east-1.amazonaws.com*](http://898334718399.dkr.ecr.us-east-1.amazonaws.com/)*, then plugin will consider the image name as *[*898334.dkr.ecr.us-east-1.amazonaws.com*](http://898334718399.dkr.ecr.us-east-1.amazonaws.com/)*/nginximage.*</td></tr><tr><td>Image Tag</td><td>`FDDKR_INP_IMAGE_TAG`</td><td>No</td><td>The tag to use when running the container. This input will take priority over the `FDDKR_IMAGE_TAG` project property.</td></tr><tr><td>Mount Plugin Directories</td><td>`FDDKR_INP_MOUNT_PLUGIN_DIRS`</td><td>No</td><td>Should the plugin execution directories be mounted as a volume? Default value is true. Volumes are mounted under the following directories in the container:<ul><li>/fd\_working\_dir/temp,</li><li>/fd\_working\_dir/artifacts,</li><li>/fd\_working\_dir/object-results</li><li>/fd\_working\_dir/test-results</li><li>/fd\_working\_dir/reports</li><li>/fd\_working\_dir/transfer</li><li>/fd\_working\_dir/internal</li></ul></td></tr><tr><td>Volumes</td><td>`FDDKR_INP_VOLUMES`</td><td>No</td><td>A comma separated list of volumes to attach to the container. Volume entries should be host:container.</td></tr><tr><td>Exposed Ports</td><td>`FDDKR_INP_EXPOSED_PORTS`</td><td>No</td><td>A comma separated list of ports to expose on the container and host. (e.g. 28080:8080,20022:22,\[HostPort]:\[ContainerPort]).For example, if your container exposes an application on port 8080 and you want to access it externally from port 9000 you would put 9000:8080</td></tr><tr><td>Container Entrypoint Commands</td><td>`FDDKR_INP_CONTAINER_COMMANDS`</td><td>No</td><td>Csv list of entrypoint commands to pass to the container.</td></tr><tr><td>Wait For Exit</td><td>`FDDKR_INP_WAIT_FOR_EXIT`</td><td>No</td><td>If true, FlexDeploy will wait until the container has exited. Useful for containers running as functions. Default value is false.</td></tr><tr><td>Remove Container</td><td>`FDDKR_INP_REMOVE_CONTAINER`</td><td>No</td><td>Remove container after running? Default value is false. This will also remove volumes created for the container.</td></tr><tr><td>Network ID Or Name</td><td>`FDDKR_INP_NETWORK_ID`</td><td>No</td><td>The ID or name of the network. This will connect the container to the given network.</td></tr><tr><td>Docker Registry Account</td><td>`FDDKR_INP_REGISTRY_ACCOUNT_CODE`</td><td>No</td><td>The Docker Registry account to use. Required when docker login is needed to pull the image from a remote registry. There are a couple different spots to specify this for convenience.In order of precedence:<ul><li>This plugin input</li><li>Target Property</li></ul>Please refer to the link to set up the Docker Registry Account: [Docker Registry Setup For Cloud Providers](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-plugin-guides/flexdeploy-docker-plugin-guide/docker-plugin-appendix/docker-registry-setup-for-cloud-providers.md)</td></tr><tr><td>Additional Options</td><td>`FDDKR_INP_ADDITIONAL_PARAMS`</td><td>No</td><td>Add any additional options not listed above, which will be added to the run command. (e.g. --cidfile /test/file.cid -d -e MYVAR1)</td></tr></tbody></table>

# Artifacts

This operation doesn’t consume or produce any artifacts.

# Endpoint Selection

This operation delegates the selection to the workflow developer to determine.

# Endpoint Execution

This operations delegates the execution to the workflow developer to decide.

# Special Considerations

**Due to the features included in this operation, it requires the docker executable to be on the path of the docker endpoint.**
