# Merging wrapper arguments in Docker

**URL:** <https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112>\
**Category:** Ignition\
**Tags:** docker\
**Created:** [November 30, 2022, 8:52pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112 "2022-11-30T20:52:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![justin.brzozoski](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justin.brzozoski/32/13452_2.png) [@justin.brzozoski](https://forum.inductiveautomation.com/u/justin.brzozoski)\
**Post date:** [November 30, 2022, 8:52pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112/1 "2022-11-30T20:52:04Z")

</div>

@kcollins ( most likely person to know and answer 🙂 )

In the [manual](https://docs.inductiveautomation.com/display/DOC81/Docker+Image#DockerImage-SupplementalJVMandWrapperArguments), it says:

> Wrapper arguments (starting with `wrapper.*` ) will be merged ... to those specified in the `ignition.conf` file.

Looking in the file in a running docker container, I can see that these `wrapper.additional` options are already there:

```auto
# Java Additional Parameters
wrapper.java.additional.1=-Ddata.dir=data
wrapper.java.additional.2=-Dedition=

```

So, if I wanted to adjust `ignition.projects.scanFrequency` does it matter which number I put after `wrapper.java.additional`? If I use

```auto
wrapper.java.additional.1=-Dignition.projects.scanFrequency=10

```

in my docker command line options will it blow away the `-Ddata.dir=data` option?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 30, 2022, 9:03pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112/2 "2022-11-30T21:03:38Z")

</div>

You don't need to use a wrapper prefix; you can directly specify the option after the double hyphen:

```auto
      --
      -Dignition.allowunsignedmodules=true
      -Dia.developer.moduleupload=true

```

Then you don't need to worry about "merging" with the service file.

Any _wrapper_ specific properties I would expect the command line passed value to "trump" the value in the file, which you could use to override.

---

<div class="post-metadata">

**Author:** ![justin.brzozoski](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justin.brzozoski/32/13452_2.png) [@justin.brzozoski](https://forum.inductiveautomation.com/u/justin.brzozoski)\
**Post date:** [November 30, 2022, 9:15pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112/3 "2022-11-30T21:15:28Z")

</div>

That seems really obvious in hindsight. I was so caught up on how I specify that option in the ignition.conf normally that I didn't back up and notice the other method staring me in the face. Thank you!

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [November 30, 2022, 9:19pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112/4 "2022-11-30T21:19:04Z")

</div>

I'll offer some supplementary information in the event that anyone is curious as to what mechanism is being used to feed in these supplementary JVM args.

We collect the arguments in our entrypoint script and write them to a temporary file during launch of the container, e.g. `.ignition-jvm-args.<8 random chars>`. It might have contents like below (for Paul's example):

```auto
#encoding=UTF-8
-Dignition.allow.unsignedmodules=true
-Dia.developer.moduleupload=true

```

This file is then supplied via [wrapper.java.additional\_file](https://wrapper.tanukisoftware.com/doc/english/prop-java-additional-n.html#file) when we launch the wrapper (and thusly Ignition). See those linked docs for details on how the applied arguments behave (hint: Paul is right).

Here is a small illustration because pictures are nice:

 ![2022-11-30 at 3.12 PM](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/8/a885db6abc6ff82eb7054ded19a2aadff474ff2c.png)

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [October 22, 2025, 4:00pm UTC](https://forum.inductiveautomation.com/t/merging-wrapper-arguments-in-docker/67112/5 "2025-10-22T16:00:08Z")

</div>

out of curiosity, why is the 8.3 external modules folder different in docs vs .ignition-jvm-args?

my compose command:

```python
    command: >
      --
      -Dignition.projects.scanFrequency=5

```

but found in .ignition-jvm-args.\<8 random chars\>:  
`-Dignition.gateway.externalModulesFolder=data/var/ignition/modl`

[docs](https://www.docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/gateway-configuration-file-reference/gateway-and-gateway-network-parameters#docker-image-external-modules-folder):

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/f/6fc438e21219d47c906114b4b80cee55c92ad38e.png)
