diff --git a/container-README.md b/container-README.md new file mode 100644 index 00000000..a528c58a --- /dev/null +++ b/container-README.md @@ -0,0 +1,50 @@ +# prezto docker container + +This branch contains a Dockerfile and a Makefile that hopefully may +prove helpful for prezto development. + +The idea is to have a totally independendn and isolated environemnet +in which to quickly make changes to either prezto-core or any plugin +that may bein development, enabling automated testing and even +continuous integration. + +The container is a basic install of alpine linux, so the image +download is reasonably small + +On the container we have a few utilities and additionalsoftware that +prezto has core support for + +you can check it out in a snap by doing: + +docker pull hlecuanda/prezto-dev:latest + +once you have the image, create a container from it with: + +docker run -it --rm -h prezto hlecuanda/prezto-dev:latest + +that will set you on a prompt withing the container with a +vanilla install of prezto. + +a development and testing run can be achieved by mounting the stuff +you're working on to the image's filesystem: + +docker run -it --rm -h prezto \ + -v /local/path:/home/prezto \ + -v /local/path/zdotdir:/home/preztoa \ + -v /local/module-dev-src:/home/prezto/.zprezto/modules/yourmodulea \ + hlecuanda/prezto-dev:latest + +the third volume mapping is particularly interesting. you can +develop on your own machine and environnmen, and when spinning up the +container, your actual source is already in-plase asif installed on a +vanilla prezto install. + +keep in mind that the container are ephemeral, unless you remove the +--rm option which will create new containers each time you run the +command, but the changes to the filesystemwill persist on a container +file that you can later spin up again to re use. + +I have found epehermeral containers to be most useful since you get an +untainted, pristine environment for testing every time you spin up the +container. +