Where `container` is the name or ID of the Docker container containing the Pantheon node.
The container can be running or stopped when you copy the key and data directory. If your node was
fully synchronized to MainNet, the data directory will be ~2TB.
When restarting your node with the v0.8.4 Docker image:
* Save the node key in the [`key` file](../Configuring-Pantheon/Node-Keys.md#node-private-key) in the data
directory or specify the location using the [`--node-private-key` option](../Configuring-Pantheon/Node-Keys.md#specifying-a-custom-node-private-key-file).
* Specify the `<destination_directory` as a [volume for the data directory](#data-directory).
Specify a Docker volume for the data directory. This is the equivalent of specifying the [`--datadir`](../Reference/Pantheon-CLI-Syntax.md#datadir) option.
To run Pantheon specifying a volume for the data directory:
```bash
docker run --mount type=bind,source=/<pantheonDataDir>,target=/var/lib/pantheon pegasyseng/pantheon:latest
```
Where `<pantheonDataDir>` is the volume to which the data is saved.
### Custom Configuration File
Specify a custom configuration file to provide a file containing key/value pairs for command line options. This is the equivalent of specifying the [`--config`](../Reference/Pantheon-CLI-Syntax.md#config) option.
To run Pantheon specifying a custom configuration file:
```bash
docker run --mount type=bind,source=/<path/myconf.toml>,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest
```
Where `myconf.toml` is your custom configuration file and `path` is the absolute path to the file.
!!!example
```bash
docker run --mount type=bind,source=/Users/username/pantheon/myconf.toml,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest
```
### Custom Genesis File
Specify a custom genesis file to configure the blockchain. This is equivalent to specifying the `--genesis` option.
To run Pantheon specifying a custom genesis file:
```bash
docker run --mount type=bind,source=</path/mygenesis.json>,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest
```
Where `mygenesis.json` is your custom configuration file and `path` is the absolute path to the file.
!!!example
```bash
docker run --mount type=bind,source=/Users/username/pantheon/mygenesis.json,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest
```
### Exposing Ports
Expose ports for P2P peer discovery, JSON-RPC service, and WebSockets. This is required to use the
defaults ports or specify different ports (the equivalent of specifying the [`--rpc-listen`](../Reference/Pantheon-CLI-Syntax.md#rpc-listen),
When you're done running nodes, you can shut down the node container without deleting resources. Alternatively, you can delete the container (after stopping it) and its associated volume. Run `docker container ls` and `docker volume ls` to obtain the container and volume names. Then run the following commands: