---
title: Deploy Code
seo_title: Production Deployment with Docker
description: The process of deploying code to a production app with Nanobox is simple and ensures that if it works locally, it'll work in production.
keywords: docker deployment, production deploys with docker, deployment strategy, deploy process, deployment process
---

With an [app launched](/workflow/launch-app/), you're ready to deploy to it.

## Stage Locally
Nanobox provides "dry-run" functionality that provisions a virtual environment in Nanobox and simulates a deploy as if it were going to production servers. If it works in a dry-run, it will work when deploying live. More information is available in the [Dry-Run documentation](/workflow/dry-run/).


## Add Your Live App as a Remote
In order to deploy your code to your live app, you need to add the app you launched with Nanobox as a remote. This is done using the `remote` command.

```bash
# link the project to your live app
nanobox remote add app-name
```

For more information about the `remote` command, view the ['remote' documentation](/cli/remote/).


## Deploy to Production
The `deploy` command will deploy your app to your live server(s).

```bash
nanobox deploy
```

<!-- ## The Deploy Process
The diagram below shows how the deploy process works.

*Scroll down to trigger each step of the process.*

<%= partial "deploy-diagram"  %> -->

#### .nanoignore
In order to keep your compiled code package as small as possible and upload times short, we recommend adding a `.nanoignore` file to the root of your project. Here you can specify files to omit from compiled code. More information is available in the [.nanoignore documentation](/local-config/nanoignore/).
