Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Docker Workspace setup

Table of contents

  1. Choosing your development environment
  2. Docker Troubleshooting

We have prepared a Docker Workspace that is preconfigured with all the development tools necessary to run and test your code for this class. Later in the course, we will discuss virtual machines; for now, you can think of it as a software version of actual hardware.

Choosing your development environment

To begin your setup, you must choose from one of the following two options. You must complete one of the following setup choices before moving onto Workspace Configuration.

  1. Docker Workspace setup: this is the choice that we recommend students go with. You will run a Workspace using Docker.
  2. Instructional machine setup: if you prefer not to use a workspace, you can use the EECS instructional machines instead.

Docker Troubleshooting

When opening Docker, you might encounter an error message saying, Error: required compatibility check: Directory permissions error, this means that you will need to change the ownership of certain files from root to your user. To fix this, in your terminal, run the command chown on the .docker, ./docker/contexts, and ./docker/contexts/meta files (i.e. chown user_name .docker).

After running docker-compose up -d, you may encounter an error stating kex_exchange_identification: Connection closed by remote host. This can be fixed by running docker-compose down within your terminal and then following the steps to run the workspace again.

If the Workspace only contains binutils-2.40.tar.gz after SSH-ing into it, do not worry and give the Workspace some time to finish loading. It can take a while before you see the code directory inside the Workspace. If the code directory has not appeared after a very long time, from your terminal delete the .workspace directory found in the docker directory (docker/.workspace). After deleting the directory, in your terminal run docker-compose up -d.

If you run into an issue saying that you need to use unminimize to access man pages. You can just run sudo unminimize.

Table of contents