Documentation:WeBWorK/Docker Installation Notes
Docker Engine is a program that was developed to easily run containers on different operating systems. A container is a complete software package, with everything it depends on put inside.
Docker Engine can be used to run a WeBWorK container, which allows for the quick creation, modification, and testing of WeBWorK questions in the WeBWorK environment. Linked here are the instructions for the installation of Docker. This guide is meant solely as an addition to the above linked instructions, and contains a series of notes on particular parts of the process compiled through personal experience. At this time, the notes are specific to a Windows 10 installation, but may be applicable to MacOS and Linux as well.
- When installing Docker, closely follow the instructions given in the Docker-newbie instruction page.
- For ease of use, install the GitBash terminal to input commands.
- If the terminal does not give you a build number for docker-machine, it means that docker-machine has not installed properly. Please note that docker-machine does not have to be installed for the Docker Engine to run a WeBWorK container. Other containers may require it, and it can be downloaded here: https://docs.docker.com/machine/install-machine/
- After installing Docker, you may be prompted to install a Linux kernel. Install the Linux kernel and restart your computer.
The instructions below are for downloading the WeBWorK container that is needed to run the test environment.
- ‘Docker-compose build’ and ‘docker-compose up’ will take a long time. The command 'docker-compose up' may fail to complete on WiFi. Attempt using WiFi several times before turning to cellular data as the download is quite big. You will know that the command failed if it is stuck at 'db_1' for more than 15 minutes. Switching networks will cause it to fail, but running 'docker-compose up' again resumes the downloads.
- ‘docker-compose up’ will end on a line mentioning that you should ‘check in with the MAA site’. Once this is displayed, you can continue with the instructions on the Docker-newbie page.