§Presentation
dockerself is a program that creates a new Docker container, injects itself, and finally runs itself from within Docker.
For the record, I was working on pathwar (a security learning platform) and was trying to design the less-constraining way of creating new levels.
My current best idea is to inject a custom entrypoint when the platform starts a new container, instead of requiring the level developers to adapt their Dockerfile.
Additionally, to the simplicity that is added for a level developer, this pattern also has the advantage of always putting the latest version of the entrypoint, even if the image was not updated for a very long time.
§Additional resources
- The project: https://github.com/moul/dockerself
- Pathwar sources: https://github.com/pathwar/pathwar