Skip to content

First Docker-based Microkernel release

Compare
Choose a tag to compare
@tjmcs tjmcs released this 19 Nov 23:47
· 4 commits to master since this release

This release of the Hanlon-Microkernel project represents the first (major) release of a Docker-based Hanlon Microkernel. Prior to this release, the Hanlon Microkernel was essentially a customized version of a Tiny Core Linux ISO (with all of the complexities that are necessary to give users the ability to rebuild their own customized (remastered) version of this ISO. With the changes in this release, the Hanlon Microkernel project has been greatly simplified (and, we hope, been made much simpler for users to interact with and contribute to).

The Microkernel (Docker) image that can be built from this repository will, by its very nature, be much simpler to add to and maintain. Building a new image is as simple as running a standard docker build command from the repository, and we've even provided examples of how to do this (along with a discussion of the structure of the Dockerfile in this project in the new Building-a-MK-Container.md file that appears in the root directory of this repository. In short, you can build a new instance of the Microkernel (Docker) image using a command like the following:

docker build -t new_mk_image:3.0.0 .

which will create a tagged version of the Microkernel (it's important to tag the image with a semantic version number). That image can then save as a tarfile using a command that looks something like this:

docker save new_mk_image > new_mk_image_save.tar

Once saved, you can then use that tarfile (or it's bzipped or gzipped form) as an input when adding a new Microkernel instance to Hanlon. Details of the new hanlon image add ... command (or it's RESTful equivalent) are available in the Hanlon project's Wiki.

Of course, the biggest advantage to the new Docker-based Microkernel is that we can now provide a standard Hanlon Microkernel (tagged by version) directly to users via DockerHub. Details on this will follow in a subsequent blog posting (planned to be pushed out shortly).

Finally, as an aside, if you'd like to use the git describe ... command to tag your docker image during the docker build process, the command you'd use would look something like this:

docker build -t new_mk_image:`git describe --tags --dirty --always | sed -e 's@-@_@' | sed -e 's/^v//'` .

That will construct an appropriate tag for your Microkernel (Docker) image based on the latest tag assigned to the repository being used to build the Microkernel image, the number of commits made to the repository since that tag was assigned, the current commit ID of the repository (if there are commits that have been made since the repository has been tagged), and even a -dirty suffix if there are uncommitted changes in the repository at the time that the Microkernel image is being built.