-
Notifications
You must be signed in to change notification settings - Fork 120
Open
Description
Trying to run the container as instructed with podman run -it -p 6080:80 --name ros2_test_bad --security-opt seccomp=unconfined --shm-size=512m docker.io/tiryoh/ros2-desktop-vnc:jazzy
fails to spawn the novnc process, and so the web interface does not work. Log:
* enable custom user: ubuntu
useradd: user 'ubuntu' already exists
set default password to "ubuntu"
============================================================================================
Launched docker container.
Open http://127.0.0.1:6080 via web browser.
NOTE 1: Default user is "ubuntu", password is "ubuntu".
NOTE 2: --security-opt seccomp=unconfined flag is required to launch Ubuntu Jammy/Noble based image on some environment.
See https://github.com/Tiryoh/docker-ros2-desktop-vnc/pull/56
============================================================================================
2025-11-18 14:50:43,239 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2025-11-18 14:50:43,239 INFO Set uid to user 0 succeeded
2025-11-18 14:50:43,242 INFO RPC interface 'supervisor' initialized
2025-11-18 14:50:43,242 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2025-11-18 14:50:43,242 INFO supervisord started with pid 32
2025-11-18 14:50:44,246 INFO spawned: 'novnc' with pid 33
2025-11-18 14:50:44,247 INFO spawned: 'vnc' with pid 34
2025-11-18 14:50:44,415 WARN exited: novnc (exit status 1; not expected)
2025-11-18 14:50:45,426 INFO spawned: 'novnc' with pid 654
2025-11-18 14:50:45,426 INFO success: vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-11-18 14:50:45,568 WARN exited: novnc (exit status 1; not expected)
2025-11-18 14:50:47,571 INFO spawned: 'novnc' with pid 709
2025-11-18 14:50:47,739 WARN exited: novnc (exit status 1; not expected)
2025-11-18 14:50:50,743 INFO spawned: 'novnc' with pid 741
2025-11-18 14:50:50,899 WARN exited: novnc (exit status 1; not expected)
2025-11-18 14:50:51,900 INFO gave up: novnc entered FATAL state, too many start retries too quickly
Digging into it this is caused by a permissions issue, as running the command gosu 'ubuntu' bash -c "websockify --web=/usr/lib/novnc 80 localhost:5901" returns
root@fd8d33181909:/# gosu 'ubuntu' bash -c "websockify --web=/usr/lib/novnc 80 localhost:5901"
WebSocket server settings:
- Listen on :80
- Web server. Web root: /usr/lib/novnc
- No SSL/TLS support (no cert file)
Traceback (most recent call last):
File "/usr/local/bin/websockify", line 8, in <module>
sys.exit(websockify_init())
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/websockify/websocketproxy.py", line 696, in websockify_init
server.start_server()
File "/usr/local/lib/python3.12/dist-packages/websockify/websockifyserver.py", line 704, in start_server
lsock = self.socket(self.listen_host, self.listen_port, False,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/websockify/websockifyserver.py", line 470, in socket
sock.bind(addrs[0][4])
PermissionError: [Errno 13] Permission denied
because it's trying to bind to port 80 as a non-sudo user. I personally fixed this by replacing the command in the bash script with sudo bash -c etc...
I can understand if it's not ideal however so any other solution is welcome.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels