Docker images that replicates University of Waterloo Linux server build environment.
1.3K
...because sometimes you want to finish your CS assignments on your own computer
Docker image that replicates University of Waterloo Linux server build environment.
full image includes 97.79% of the apt-get packages on UW servers.thin image includes 32.32% of the apt-get packages on UW servers, not including packages likely unnecessary to use as a build / compile / run container.$ docker pull andrewparadi/uwaterloo:latest$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:latest$ docker pull andrewparadi/uwaterloo:{TAG}
$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{TAG}
| Tags | Collection | # Packages | Image Size | Description |
|---|---|---|---|---|
latest | INSTALL.apps | 1366 | 11 GB | default recommended, equivalent to thin |
thin | INSTALL.apps | 1366 | 11 GB | strips out GUI apps, fonts, latex, windowing utilities... for smaller image size |
full | PASS.apps | 4133 | 16 GB | all packages on UW Linux server that successfully install in Docker |
gcc | GCC.apps | 4 | 350 MB | Super thin image for compiling C/C++ |
Lists of packages on UW Linux servers used to build Dockerfiles for the above tagged images.
| Collection | Parent Collection | # Packages | Updated | Description |
|---|---|---|---|---|
| ALL.apps | 4226 | Feb 13, 2018 | raw output from apt-get list --installed on UW Linux servers | |
| PASS.apps | ALL.apps | 4133 | Feb 16, 2018 | UW packages that succesfully install in the full Docker image |
| FAIL.apps | ALL.apps | 93 | Feb 16, 2018 | UW packages that fail install in the full Docker image |
| INSTALL.apps | PASS.apps | 1366 | Feb 16, 2018 | Thin build environment. Packages that are not in IGNORE.apps |
| IGNORE.apps | PASS.apps | 2767 | Feb 16, 2018 | Packages ignored to minimize image size |
$ apt-get list --installed > ALL.apps$ make build_filebuild_file)
$ make build TAG={tag}$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{tag}Add an issue: If your build requirements that you use on UW Linux aren't in this Docker image yet, please add an issue.
Add a single package: If you're simply adding an apt-get package, use the following steps.
$ docker run -it -v {local dir}:/src --entrypoint /bin/bash -w /src andrewparadi/uwaterloo:{tag}$ apt-get install {new package}ALL.appsNote: You do not have to build the image locally prior to Pull Request. full and thin tags take ~8-17 hours to build but Docker Hub will automatically rebuild when your code is committed. Any failures in that process can be rolled back at that point.
Contribute a new image: If there's a class specific stack that you'd like to add, follow the contribution guidelines before and do the following steps as well to create a new tagged image.
IMAGEs in 2 for loops that create image folder, and generate Dockerfiles in build_dockerfile.sh$ make build TAG={tag}GitHub Flow Guidelines: Any help to fix bugs or keep packages up to date is appreciated. Please follow the GitHub Flow approach to team development:
Master[CLOSES #{}] as the start of the commit message if it closes a specific issue
[CLOSES #14] Add package zsh-autocompleteContent type
Image
Digest
Size
137.3 MB
Last updated
over 8 years ago
docker pull andrewparadi/uwaterloo