[SOLVED] Adding Paths Breaks Docker


Recommended Posts

I'm trying to setup this docker to manage my wifi APs: https://hub.docker.com/r/mbentley/omada-controller.

 

I can get everything to work great if I don't try to setup any paths, but the issue is that the docker doesn't have persistent data/config files (as noted on the docker page). 

 

So, when I try to add paths per the docker page's instructions (e.g., -v /mnt/user/docker/EAPcontroller/data:/opt/tplink/EAPController/data), the application within the docker won't start.

 

Any ideas?

Docker config without paths configured:

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='omada-controller' --net='bridge' -e TZ="America/New_York" -e HOST_OS="Unraid" -v '/mnt/user/docker/EAP/copy':'/opt/tplink/copy':'rw' -p 8043:8043 -p 8088:8088 -p 27001:27001/udp -p 27002:27002 -p 29810:29810/udp -p 29811:29811 -p 29812:29812 -p 29813:29813 'mbentley/omada-controller' 
f9a73537e853ec8d5d5d13b7973d0faeb9c26311873cc8a9f24c5d4a3b262aa1

The command finished successfully!

 

Docker log without paths configured:

INFO: Time zone set to 'America/New_York'
INFO: Starting Omada Controller as user omada

startup...
May 30, 2020 10:58:06 AM org.hibernate.validator.internal.util.Version <clinit>

INFO: HV000001: Hibernate Validator 4.3.1.Final
Omada Controller started

 

Docker config with paths configured:

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='omada-controller' --net='bridge' -e TZ="America/New_York" -e HOST_OS="Unraid" -v '/mnt/user/docker/EAP/copy':'/opt/tplink/copy':'rw' -v '/mnt/user/docker/EAPcontroller/data':'/opt/tplink/EAPController/data':'rw' -v '/mnt/user/docker/EAPcontroller/work':'/opt/tplink/EAPController/work':'rw' -v '/mnt/user/docker/EAPcontroller/logs':'/opt/tplink/EAPController/logs':'rw' -p 8043:8043 -p 8088:8088 -p 27001:27001/udp -p 27002:27002 -p 29810:29810/udp -p 29811:29811 -p 29812:29812 -p 29813:29813 'mbentley/omada-controller' 
8062e8d47c6b04ff04bf539e361160137c76f9ca9ffaf3df70bfa91d6517556f

The command finished successfully!

 

Docker log with paths configured:

INFO: Time zone set to 'America/New_York'
INFO: Starting Omada Controller as user omada

SLF4J: com.tp_link.eap.util.m.a
SLF4J: The following set of substitute loggers may have been accessed
SLF4J: during the initialization phase. Logging calls during this
SLF4J: phase were not honored. However, subsequent logging calls to these
SLF4J: loggers will work as normally expected.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
startup...
May 30, 2020 10:48:15 AM org.hibernate.validator.internal.util.Version <clinit>

INFO: HV000001: Hibernate Validator 4.3.1.Final
Failed to start omada controller, going to exit

 

Edited by bumblebee21
Link to comment
3 hours ago, itimpi said:

Have you set the permissions at Unraid level to be those that the docker says it requires to run correctly (uid=508, gid=508) on the mapped locations.?

Thanks for your reply! I did initially get an error message about lack of permissions, but after 'chown -R 508:508' in the terminal for '/mnt/user/docker/EAPcontroller/data', logs, and work, I no longer got the lack of permissions errors. But the application still doesn't start.

Link to comment

I just tried recreating the paths in the container to a brand new directory in the Docker share. The docker log then says:

 

WARNING: owner or group (99:100) not set correctly on '/opt/tplink/EAPController/data'
INFO: setting correct permissions

And when I checked in the unRAID terminal with ls -l, then new directories got 508:508 permissions assigned successfully and I can see files in the directories. So, sure doesn't seem like a permissions issue.

Link to comment

SOLVED!

 

For posterity's sake:

On a whim, I switched from defining the path in terms of unRAID shares to defining the paths directly to the cache drive (e.g., /mnt/cache/docker/omada/data instead of /mnt/user/docker/omada/data) and sure enough the application started up. Must be some issue with the application handling unRAID's shares. Here is my config for future reference:

 

 

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='omada-controller' --net='bridge' -e TZ="America/New_York" -e HOST_OS="Unraid" -v '/mnt/cache/docker/omada/data':'/opt/tplink/EAPController/data':'rw' -v '/mnt/cache/docker/omada/work':'/opt/tplink/EAPController/work':'rw' -v '/mnt/cache/docker/omada/logs':'/opt/tplink/EAPController/logs':'rw' -e SMALL_FILES=true -p 8043:8043 -p 8088:8088 -p 27001:27001/udp -p 27002:27002 -p 29810:29810/udp -p 29811:29811 -p 29812:29812 -p 29813:29813 'mbentley/omada-controller' 
89479fd2df50e363b88e624f1b2bcea6cad7713e442c0248642a367ba0056cb4

The command finished successfully!

 

Link to comment
  • JorgeB changed the title to [SOLVED] Adding Paths Breaks Docker

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.