> For the complete documentation index, see [llms.txt](https://docs.connect.jfrog.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.connect.jfrog.io/features-new-ui/deployments/update-deployment/deploy-docker-images-to-devices.md).

# Sample Use Case: Deploy Docker Images to Devices

This page describes how to create a deployment of Docker images based on the Update Flow created in [Build Update Flow for Reuse](https://docs.connect.jfrog.io/best-practices-software-update/build-update-flow-for-reuse). You can create the deployment in the web UI or using the [Deploy Update](https://api.docs.connect.jfrog.io/#708d16d6-6bb4-437b-b504-c701dfb9bc4a) request in the Connect API. The procedures in this page relate to the web UI only.

## Prerequisites

Before starting the procedures below, you need an update flow created according to the procedure in [Build Update Flow for Reuse](/features-new-ui/deployments/update-flow/build-update-flow-for-reuse.md).

## Step 1: Get Started

1. Go to **Deployment** in the left menu and click the **Update Flows** tab.

<div align="left"><figure><img src="/files/Ylnm9ZOOuC26v9NQHzev" alt=""><figcaption></figcaption></figure></div>

2. Go to the **Update Flow** you created in [Build Update Flow for Reuse](/features-new-ui/deployments/update-flow/build-update-flow-for-reuse.md), and click **New Deployment**.

<figure><img src="/files/m0swWEV9BwGawOFt6Mx1" alt=""><figcaption></figcaption></figure>

## Step 2: Select Devices

In the New Deployment window, the first thing you need to do is select the devices the deployment will run on. You can deploy the software update on your entire fleet at once or you can choose subsets of devices that will receive the updates. Under Deployment Will Run On, select the Group that is relevant to this software update.

<div align="left"><figure><img src="/files/ZbcN0fWIt4unycRzkF5C" alt="" width="302"><figcaption></figcaption></figure></div>

* Set Application Version: Choose an application version and version number. (It might be useful to choose an application version name that is the same as the release bundle name.)
* Schedule Deployment: Enter the date and time for the deployment to begin. JFrog Connect will trigger the deployment at the time you specify. If you don’t specify a time, the deployment is triggered immediately after you click Create Deployment in the web UI (or immediately after the API command is processed).
* Alert on Update Fail: If there is a failure in the deployment process, you can receive alerts. To receive the alerts, complete the following:
  * Applied Channels: The channels over which you will be informed.
  * Aggregation Duration: The time period over which results of the deployment are collected from the devices in the fleet. The default is 10 minutes.
* Comment: Add a comment indicating something important or something you want to remember about this deployment.

The definitions in the Deployment Configuration are optional, but we recommend that you use these to provide more certainty and insight as to the status of your deployment.

## Step 3: Configure Deployment

If you have a large fleet, you may choose to break up the software update into several deployments to different subsets. In this case, you deploy the workflow several times, each time changing only the group of devices in the Deployment. Deployments to subsets of devices can be according to any of the filter objects available, such as tags, device name, application version, and group.

<div align="left"><figure><img src="/files/zuXLmEbes7ksnCUA5Nnu" alt="" width="414"><figcaption></figcaption></figure></div>

## Step 4: Enter Parameter Values

Enter the values for the deployment parameters you defined in the update workflow. (If you are using the Deploy Update API, you will enter these parameters in your API call instead of in the web UI.)&#x20;

### Example A: Docker Containers

<div align="left"><figure><img src="/files/GS2G5IdJYs0D8O7mMJrj" alt="" width="563"><figcaption></figcaption></figure></div>

Some examples of deployment parameters and values are shown below for the Docker Containers action block.

| Example Parameter Name        | Example Value                        |
| ----------------------------- | ------------------------------------ |
| destination-path-on-device    | /home/user/cool-app-files            |
| compose-yaml-artifactory-path | generic-yaml/1.0/docker-compose.yaml |

### Example B: Release Bundle

<div align="left"><figure><img src="/files/zfifKogHjCobkWWB1Dda" alt="" width="563"><figcaption></figcaption></figure></div>

Some examples of deployment parameters and values are shown below for the Release Bundle action block. If you entered parameters for [custom paths](https://docs.connect.jfrog.io/plan-your-update-strategy/build-update-flow-for-reuse#release-bundle-block-configuration), they would also appear in the Deployment Parameters list and you would need to fill in their values. (The table below does not have custom paths.)

| Example Parameter Name       | Example Value                                 |
| ---------------------------- | --------------------------------------------- |
| release-bundle-name          | cool-iot-app                                  |
| release-bundle-version       | 1.0                                           |
| bundle-artifacts-device-path | /home/user/cool-app-files                     |
| artifactory-bundle-path      | connect-docker-bundle/1.0/docker-compose.yaml |
| compose-yaml-device-path     | /home/user/cool-app-files                     |

Next time you deploy this workflow for software updates, you might use different values for one or more of the parameters above.

## Step 5: Run Deployment

Once you have filled in all the configuration and deployment parameters, click **Create Deployment**. The deployment will appear in the list of All Deployments, as shown below, and you can find the deployment status under the Deployment Summary.

<figure><img src="/files/enla3daaDJUKZXNZHAaT" alt=""><figcaption></figcaption></figure>

## What’s Next?

Learn how to configure your On Failure actions and [Rollback](https://docs.connect.jfrog.io/create-update/rollback) policy.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.connect.jfrog.io/features-new-ui/deployments/update-deployment/deploy-docker-images-to-devices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
