# Unable to mount ignition/data folder in an external volume using Docker

**URL:** <https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928>\
**Category:** Ignition\
**Tags:** ignition81, docker\
**Created:** [October 6, 2022, 9:39pm UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928 "2022-10-06T21:39:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ivan\_H](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ivan_h/32/28186_2.png) [@Ivan\_H](https://forum.inductiveautomation.com/u/Ivan_H)\
**Post date:** [October 6, 2022, 9:39pm UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928/1 "2022-10-06T21:39:10Z")

</div>

I'm mounting the /ignition/data/projects folder in an external windows volume (D:\Ignition\Data\Projects) successfully, using the following run statement.

```auto
docker run -d -p 8488:8088 `
	--name dau_ind_testing_8121 `
	-v D:\Ignition\Data\Projects:/usr/local/bin/ignition/data/projects `
	-e ACCEPT_IGNITION_EULA=Y `
	-e GATEWAY_ADMIN_USERNAME=admin `
	-e GATEWAY_ADMIN_PASSWORD=password `
	-e IGNITION_EDITION=full `
	-e TZ=America/Bogota `
	inductiveautomation/ignition:8.1.21 `
	-n gw_dau_ind_testing_8121 `
	-a localhost -h 8488 -s 8443  

```

Is there a way to do the same for the /ignition/data folder? When i mount the volume from the ignition/data folder

```auto
	-v D:\Ignition\Data:/usr/local/bin/ignition/data`

```

keep getting this error for the container.

```auto
init | 2022/10/06 16:32:10 | Parsed systemName argument; new value: gw_dau_ind_testing_8121
init | 2022/10/06 16:32:10 | Parsed httpAddress argument; new value: localhost
init | 2022/10/06 16:32:10 | Parsed httpPort argument; new value: 8488
init | 2022/10/06 16:32:10 | Parsed httpsPort argument; new value: 8443
init | 2022/10/06 16:32:10 | Creating init.properties file
init | 2022/10/06 16:32:10 | Adding SystemName=gw_dau_ind_testing_8121 to init.properties
init | 2022/10/06 16:32:10 | Creating gateway.xml
cp: cannot stat '/usr/local/bin/ignition/data/gateway.xml_clean': No such file or directory

```

---

<div class="post-metadata">

**Author:** ![Kevin.Collins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.collins/32/13497_2.png) [@Kevin.Collins](https://forum.inductiveautomation.com/u/Kevin.Collins)\
**Post date:** [October 7, 2022, 1:39am UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928/2 "2022-10-07T01:39:53Z")

</div>

Usage of a bind-mount against the `data` folder places the empty folder from your host into place in the container. The files (such as `gateway.xml_clean`) that are in the image at that location are not found when the gateway starts up. Named volumes perform seeding of this information automatically, which is why you can create a named volume and map it into `data` and have things preserved as you'd expect.

I'd recommend that you use Docker Compose to manage your container here. The primary reason for this is that you'll be able to leverage an init container to perform the same type of "seeding" for your bind-mount that you'd get from a named volume. Take a look at the resources from my ICC session on _Running Ignition in a Containerized Environment_ here: [ICC 2022 Containerized Ignition - Session Notes · GitHub](https://gist.github.com/thirdgen88/c6439d82b5ea720d62ab0a7e00e7b1a1). You should be able to also register and access the Virtual ICC and replay that session--I explain this situation in more detail there.

---

<div class="post-metadata">

**Author:** ![Ivan\_H](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ivan_h/32/28186_2.png) [@Ivan\_H](https://forum.inductiveautomation.com/u/Ivan_H)\
**Post date:** [October 7, 2022, 10:44pm UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928/3 "2022-10-07T22:44:19Z")

</div>

Thanks for the solution and the ICC session.

---

<div class="post-metadata">

**Author:** ![Ivan\_H](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ivan_h/32/28186_2.png) [@Ivan\_H](https://forum.inductiveautomation.com/u/Ivan_H)\
**Post date:** [October 8, 2022, 7:51pm UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928/4 "2022-10-08T19:51:06Z")

</div>

Following question; how the bind-mount volume feature afects the source control with Git? is posible to control the entire data folder?

---

<div class="post-metadata">

**Author:** ![Kevin.Collins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.collins/32/13497_2.png) [@Kevin.Collins](https://forum.inductiveautomation.com/u/Kevin.Collins)\
**Post date:** [October 8, 2022, 8:31pm UTC](https://forum.inductiveautomation.com/t/unable-to-mount-ignition-data-folder-in-an-external-volume-using-docker/64928/5 "2022-10-08T20:31:13Z")

</div>

So a bind-mount just maps a folder from the host system into the container. From the container's perspective, it looks like a mounted disk, like any other on the system. Permissions for that folder are going to be whatever are on the host (keep in mind that on Docker Desktop things are slightly different because you're crossing yet another boundary, container-\>host Linux VM-\>host filesystem). It shouldn't affect the usage of git.
