Skip to content

Docker Installation

Toya Takahashi edited this page Jan 28, 2025 · 27 revisions

Installation

First install git and Docker according to your OS:

Once everything is installed and running, if you're on macOS or Linux open a terminal and if you're on Windows open a PowerShell. Then clone the repository:

git clone --recurse-submodules [email protected]:ArcturusNavigation/arcturus_docker.git

If you are on MacOS with Apple Silicon (M series) or any ARM-based machine and would like to run the simulation: edit docker-compose.yml and modify the image field as toyat522/arcturus:aarch64

You may find it helpful to increase the amount of RAM allocated to Docker to make the simulation run faster.

Finally, pull the docker image:

cd arcturus_docker
docker compose pull

Linux users may need to use sudo to run docker compose. The image is about 1.5GB compressed so this can take a couple minutes. Fortunately, you only need to do it once. Pre-built images are located here.

Make sure you are on the latest version of all_seaing_vehicle by changing directory into the submodule and switching to the main branch:

cd home/arcturus/dev_ws/src/all_seaing_vehicle
git checkout main

Starting up

Once the image is pulled you can start it by running the following in your arcturus_docker directory:

docker compose up

Follow the instructions in the command prompt to connect via either a terminal or your browser. If you're using the browser interface, click "Connect" then right click anywhere on the black background to launch a terminal.

Using the container

The username and password inside the container are both arcturus.

To use graphical programs, navigate to the link printed when starting up the container. Once connected, right-click anywhere on the black screen to open up a terminal or RViz for robot visualizations and debugging. Additionally, the command to run the simulation must be entered in the terminal in NoVNC.

Shutting down

To stop the image, run:

docker compose down

If you try to rerun docker compose up without first running docker compose down the image may not launch properly.

Local storage

Any changes made to the your home folder in the docker image (/home/arcturus) will be saved to the arcturus_docker/home directory your local machine but ANY OTHER CHANGES WILL BE DELETED WHEN YOU RESTART THE DOCKER IMAGE.

Tips

  • In the graphical interface, you can move windows around by holding Alt or Command (depending on your OS) then clicking and dragging anywhere on a window. Use this to recover your windows if the title bar at the top of a window goes off screen.
  • You can edit files that are in the shared home directory using an editor on your host OS.

Custom builds

If you want to change the docker image and rebuild locally, all you need to do is add a --build flag:

docker compose up --build

For autonomy leads: If you need to make changes to the docker image saved in Docker Hub, first commit the running container

docker container commit <container_name> toyat522/arcturus:<tag_name>

where <container_name> is the name of the container (which you can see using the docker ps command) and <tag_name> is x86_64 for an x86 machine (most Windows machines) and aarch64 for machines with the ARM architecture (e.g. Apple silicon macs).

Note: If the VNC is running into issues after the new push, remove the /tmp/.X1-lock file before committing the container.

Then push the container to Docker Hub

docker push toyat522/arcturus:<tag_name>
Back: Setting Up Your GitHub SSH Keys Top: Installation Next: VS Code Setup