Panda3d with Docker

Hi, has anybody tried packing panda3d in Docker?
I test it with the Asteroid example and i got the no graphics pipe available.
I have tried adding PANDA_PRC_DIR and plugin-path with this reference but no luck

any help appreciated!

File "main.py", line 433, in <module>
    demo = AsteroidsDemo()
  File "main.py", line 126, in __init__
    ShowBase.__init__(self)
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 274, in __init__
    self.openDefaultWindow(startDirect = False, props=props)
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 942, in openDefaultWindow
    self.openMainWindow(*args, **kw)
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 978, in openMainWindow
    self.openWindow(*args, **kw)
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 690, in openWindow
    win = func()
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 676, in <lambda>
    callbackWindowDict = callbackWindowDict)
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 742, in _doOpenWindow
    self.makeDefaultPipe()
  File "/usr/local/lib/python3.7/site-packages/direct/showbase/ShowBase.py", line 581, in makeDefaultPipe
    "No graphics pipe is available!\n"
  File "/usr/local/lib/python3.7/site-packages/direct/directnotify/Notifier.py", line 130, in error
    raise exception(errorString)
Exception: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

Have you tried using software rendering?

AFAIK Panda3D uses the OpenGL renderer by default.

See the following doc page about configuring Panda3D.
https://docs.panda3d.org/1.10/python/programming/configuration/configuring-panda3d

I’ve not used Docker personally but I’m wondering if being a container it won’t have access to the GPU for hardware rendering by default.

What’s your Docker host, is it Windows or Linux? Or Mac? For Linux you could try this article: https://medium.com/@SaravSun/running-gui-applications-inside-docker-containers-83d65c0db110

Essentially you have to tell Docker about your window server setup so that it can pass the appropriate information. Not sure how this would work on Windows.