When setting the GUIAUTOSTART environment variable to true, the websocat [in /etc/services.d/autostart/run] command ends up never being ran to launch the application.
I believe this is because IPv6 is enabled, here's a netstat -tulpn output:
tcp | 0 | 0 | 0.0.0.0:4822 | 0.0.0.0:* | LISTEN | 410/guacd |
tcp6 | 0 | 0 | :::8080 | :::* | LISTEN | - |
tcp6 | 0 | 0 | ::1:3350 | :::* | LISTEN | 402/xrdp-sesman |
tcp6 | 0 | 0 | :::3389 | :::* | LISTEN | 401/xrdp |
[Where :::8080 is the app I'm running.]
I'm caught in this loop:
Because port 3350 isn't available on 127.0.0.1, you'd have to connect to ::1 or instead. Or better yet, I propose switching all 127.0.0.1 instances with localhost so this works either way.
Expected Behavior
run should sleep until all ports are available and I'd see the log line:
Current Behavior
Instead of continuing past that until loop, I see a sleep .5 process in the process list with ever-incrementing PIDs.
If I switch over to localhost [instead of 127.0.0.1], run continues to execute.
Steps to Reproduce
- Enable IPv6 in your container environment.
- Install netstat, observe that xrdp-session only listens on IPv6.
Environment
OS: Linux
CPU architecture: x86_64
How docker service was installed: k3s
Command used to create docker container [run/create/compose/screenshot]
This was reproduced with the k8s-at-home/calibre helm cart.
Docker logs
N/A