Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Linux containers

For users of systems with x86_64 CPUs who want to set up their development environment more quickly, we provide two containerized development environments, aimed at different audiences:

  • For maximal ease of use, the rust_code_server environment provides a pre-configured cousin of the popular VS Code editor that you can use from your web browser.
    • This option is recommended for local use on your laptop/desktop computer if you like this code editor, are not very familiar with containers, or just want to get something working with minimal effort.
    • We advise against using this image on computing clusters, among other things1 because it’s not compatible with the Apptainer/Singularity container runtime that is often the only available option in those shared compute environments.
  • If you are more experienced and want more control, the rust_light environment only provides the minimum CLI tooling and libraries needed to build and run the course’s code.
    • As further discussed in the associated section, you can either use this image directly via bind mounts (recommended for container novices), or extend it with your favorite container tooling to create a complete development environment.

  1. Other ways this configuration could go wrong include network policies preventing you from connecting to the bundled code editor, collisions for the usual 8080 code editor TCP port requiring a confusing shift to unique network port allocation, headaches running jobs on worker nodes…