1.2.2 Docker Desktop on Mac and Windows
This option assumes you have installed Docker Desktop and are familiar with its operation and
its security considerations. Instead of using the window manager of your computer, this option
lets you use a web browser to interact with windows managed by the NOVNC program. The
window manager appears in your browser.
Download the script from https://raw.githubusercontent.com/mfthomps/Labtainers/
master/headless-lite/headless-labtainers.sh, make it executable and run it. On a Mac,
this would be done from a terminal. On Windows, use Powershell. Open a browser and goto
http://localhost:6901/vnc.html?password= No password is needed, if prompted, simply
click the submit button.
In addition to starting the Labtainers, the script will create a /headless-labtainers di-
rectory. You should then run headless-labtainers.sh from that directory in the future to
start Labtainers. That directory will also contain persistent data, including results stored in the
labtainer xfer subdirectory. Note: Where lab messages and lab manuals indicate results are
found in /labtainer
xfer, your results will be in /headless-labtainers/labtainer xfer
Use ctrl-C to quit Labtainers.
2 Performing a Lab
All labs are run from the same Labtainer workspace directory, which is typically at:
cd $LABTAINER_DIR/scripts/labtainer-student
The prepackaged virtual machines automatically start a terminal in this directory.
To see a list of available labs, run the labtainer command with no arguments:
labtainer
Then run a specific lab, include the name of the lab:
labtainer <labname>
where labname is the name of the lab to run.
Most labs direct you to a PDF version of a lab manual, which can usually be done by right
clicking on the displayed path, or you can open the file in a browser. Please note that some
of the initial lab instructions repeat the steps you’ve already taken, and you need not perform
those again.
A list of labtainer commands can be found in Appendix A of this document.
Once you start the lab, you will typically see one or more virtual terminals connected to
computers within the lab. While running the lab, if you require more virtual terminals, use:
moreterm.py <labname> <container>
where container is the host name of the component on which to attach a terminal. It can be
omitted for labs having a single component.
The virtual terminals for most labs present bash shells via which you can interact with the
attached computer, (which is actually a Docker container designed to appear like a separate
computer). A single computer may have multiple virtual terminals attached to it. Each com-
puter is independent, and may use networks to interact with other Labtainer computers within
the lab.
Many labs automatically gather results of your work, which you will provide to your in-
structor. Note that, unless otherwise directed, exploration and experimentation you perform
either before or after performing the expected activity will not diminish or dilute your results.
And you typically do not have to take actions to collect or record your results. This occurs
automatically as noted in the next section.
2