madsciencelab
C release build & unit testing with Ceedling, Unity & CMock
50K+
C unit testing & release build environment with Unity, CMock, and Ceedling. This image is a self-contained environment for running unit test suites and release builds with Ceedling.
This image will run natively without internal emulation on most AMD64 and ARM64 systems, including Apple M-series hardware.
Find the source Dockerfile, assets, and documentation in the project Github repository.
The Changelog is documented in the project’s Github Releases. This image’s version tracks Ceedling’s version. Alphabetical characters trailing the numeric version string indicate a Docker image revision with no changes to Ceedling or its supporting frameworks.
🙏🏻 Please consider supporting this work as a Github Sponsor
This image contains Ceedling, Unity, CMock, the GCC toolchain, and essential Linux utilities & C libraries.
When launched in terminal mode — (A) below — a welcome message lists the components installed in the container. Standard command line conventions will provide version numbers, etc. for the various components.
docker run -it --rm -v <local project path>:/home/dev/project throwtheswitch/madsciencelab[:tag]
docker run --rm -v <local project path>:/home/dev/project throwtheswitch/madsciencelab[:tag] <Ceedling command line>
minideb, a minimal, well-patched Debian base image.dev) has non-root privileges.madsciencelab-* images are generally more useful but also increase the “threat surface” in your usage.Please see the source repository security policy.
dev userA container user lacking root privileges has a couple consequences:
docker run -u root .... Of course, this removes any protections of a default non-root user. Use with care. Any changes within the container such as software installation will not be permanent.dev user is part of the same permissions group as your host system user. This is generally the easiest and most secure options for managing ownership & permissions issues files generated within the container but ending up on your host filesystem. Eventually, we’ll provide additional resources to help you automate this option.It’s entirely possible that you will want to install or change something within the available madsciencelab image. Some changes may make sense for all users and should be incorporated via feature request. Other changes will be specific to your project and team. You have two options for derivative Docker images.
FROM). Within your Dockerfile you may change back to the root user, install software & make other changes, and revert to the dev user for its security provisions.Content type
Image
Digest
sha256:f34f5ae7e…
Size
249.3 MB
Last updated
3 days ago
docker pull throwtheswitch/madsciencelab