This pull request adds support for the following programs to this Docker container:
- Support for Python 3.8.5 through the use of the Debian Buster base image that provides Python 3.8.5
- Support for the Poetry tool for managing Python virtual environments and application dependencies
- The
git
command-line client, which will allow for the use of, for instance,git status
in the Docker container
The reasons for installing these two programs are as follows:
-
Several courses are now using Python 3.8. However, students who are using Windows are having trouble installing this program through the Pyenv-Win tool. This means that these students can now use the Docker container instead of struggling to install Python 3.8.5 on their laptops.
-
Instead of using Pipenv for managing virtual environments and packages, I am now starting to use Poetry as it is faster and has more features. Including this program in the Docker container will therefore support future courses as well.
It is important to note that this Docker container no longer uses Alpine, instead opting for Debian Buster. I have tested almost ten different assignments with this Docker container and found that it always worked correctly, focusing on assignments from the following courses: CMPSC 100, CMPSC 101, CMPSC 102, CMPSC 203, and CMPSC 302.
There are several important points to consider about using this Docker container instead of the previous one:
-
Since it uses Python 3.8.5 students who previously used the old Docker container will find that their virtual environments in the
.dockagator
directory no longer work correctly. The only way around this issue is to have the delete the two (or three) directories inside of.dockagator
. In all of my testing, I can confirm that deleting these directories always allowedgradle grade
to pass when it should. -
Since this Docker container is based on Debian Buster instead of Alpine, this means that the diagnostic display from
gradle grade
and the prompt in the terminal window are slightly different. For instance, here is what the prompt now looks like:
root@759d4cbac1bc:/project#
this means that some students and student technical leaders may be confused about whether or not they are actually in the Docker container.
- This Docker container is larger than the one before by about 500 MB. During my testing, I did not notice a significant difference is execution time with this Docker container, once it was downloaded. However, it is possible that using this Docker container will lead to longer initial download times, especially for those students who are using slower laptops.
See README.md
for example commands and more details.