This repository provides an Ubuntu desktop Docker container (with VNC access) for SIGVerse.
It uses the following image:
https://github.com/Tiryoh/docker-ros2-desktop-vnc
This procedure is for SIGVerse administrators. Users do not need to run it.
We do not provide a Dockerfile. Setting up the environment as ubuntu during docker build was difficult.
- Install Docker Desktop:
https://www.docker.com/products/docker-desktop/ - Start Docker Desktop and make sure it is running.
- Open Windows PowerShell.
- Run the version command to confirm that the
dockercommand works:docker --version
- Sign in to Inamura Lab's Docker Hub account with
docker login. (ID=inamuralab/ password: confirm separately)docker login
- Pull the base image, then create and start a container:
docker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=512m ghcr.io/tiryoh/ros2-desktop-vnc:humble
- Wait until the container is ready. If it looks like the following, startup is complete:

- In Docker Desktop, confirm that the container appears in Containers. The container name is generated randomly.

- Open a web browser and go to:
http://127.0.0.1:6080/ - Click the connect button.
The Ubuntu desktop will appear.
A VNC tool panel is available on the left side of the screen. - On the desktop, start Terminator.
- Install SIGVerse:
wget https://raw.githubusercontent.com/SIGVerse/docker-ros/main/humble/sigverse_setup.sh chmod +x sigverse_setup.sh ./sigverse_setup.sh
- Remove unnecessary files:
rm sigverse_setup.sh sudo rm -rf /var/lib/apt/lists/* - Download
sigverse_commands.txt:wget https://raw.githubusercontent.com/SIGVerse/docker-ros/refs/heads/main/humble/sigverse_commands.txt
- Copy
sigverse_commands.txtto the desktop. - Confirm that the ROS 2 node for HSR starts:
source ~/.bashrc ros2 launch sigverse_hsr_teleop_key teleop_key_launch.xml
- Use the VNC tool panel on the left to disconnect the VNC session.
- In Docker Desktop, stop the base image container.
- Commit the container and publish the image to Docker Hub.
Run the following commands in Windows PowerShell.
Replace<Container ID>with the Container ID shown in Docker Desktop, and update the version number as needed.docker commit <Container ID> sigverse-ros2-humble:1.0 docker tag sigverse-ros2-humble:1.0 inamuralab/sigverse-ros2-humble:1.0 docker login docker push inamuralab/sigverse-ros2-humble:1.0
- Install Docker Desktop (if it is not installed):
https://www.docker.com/products/docker-desktop/ - Start Docker Desktop and make sure it is running.
- Open Windows PowerShell. (Run the following commands in Windows PowerShell.)
- Pull the image, then create and start a container.
You can change the resolution by adding a resolution option (e.g.,-e RESOLUTION=1920x1080).docker run -p 6080:80 -p 9090:9090 -p 50001:50001 inamuralab/sigverse-ros2-humble:1.0
- Wait until the container is ready. If it looks like the following, startup is complete:

- In Docker Desktop, confirm that the image appears in Images.

- In Docker Desktop, confirm that the container appears in Containers. The container name is generated randomly.

Since the container already exists, you can start it from the container list in Docker Desktop.
- Open a web browser and go to:
http://127.0.0.1:6080/ - Click the connect button.
The Ubuntu desktop will appear.
A VNC tool panel is available on the left side of the screen.
On the desktop,sigverse_commands.txtis available and contains command examples.

- In Unity, set the IP address for ROS to
127.0.0.1.

- Use the VNC tool panel on the left to disconnect the VNC session.
- In Docker Desktop, stop the container.
On Windows, run the following commands in PowerShell to save and load a Docker image file.
Save to a file:
docker save inamuralab/sigverse-ros2-humble:1.0 -o docker-image-sigverse-humble.tarLoad from a file:
docker load -i docker-image-sigverse-humble.tar
docker run -p 6080:80 -p 9090:9090 -p 50001:50001 inamuralab/sigverse-ros2-humble:1.0