Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
howto:dockerimage [2018/02/01 09:23] – [Use polymake in a docker image] gawrilow | howto:dockerimage [2018/02/15 12:02] – [JavaView and docker image] gawrilow |
---|
====== Use polymake in a docker image ====== | ====== Use polymake in a docker image ====== |
| |
Starting with polymake version 3.2, nightly builds of the stable "master" code line are available as docker images on [[https://hub.docker.com/r/polymake/nightly/|DockerHub]]. We offer a small starter script facilitating the usual docker-related rituals like mounting your home directory or passing environment variables to the container. All what you need to do is to download {{ :download:polymake-in-container.sh |}}, make it executable (''chmod +x'') and run it. It will pull the most recent image and start an interactive polymake shell. It will also create a tiny configuration file ''$POLYMAKE_USER_DIR/container.config'' where you can tune its behavior. The default location for POLYMAKE_USER_DIR is, as usual, ''~/.polymake'' . | Starting with polymake version 3.2, nightly builds of the stable "master" code line are available as docker images on [[https://hub.docker.com/r/polymake/nightly/|DockerHub]]. We offer a small starter script facilitating the usual docker-related rituals like mounting your home directory or passing environment variables to the container. All what you need to do is to download {{ :download:polymake-in-container.sh |}}, make it executable (''chmod +x'') and run it. It will pull the most recent image and start an interactive polymake shell. It will also create a tiny configuration file ''POLYMAKE_USER_DIR/container.config'' where you can tune its behavior. The default location for POLYMAKE_USER_DIR is, as usual, ''~/.polymake'' . |
| |
''polymake-in-container.sh'' can also be called with any arguments recognized by ''polymake'', like ''%%-a APP_NAME%%'' or ''%%--script FILE%%''. | ''polymake-in-container.sh'' can also be called with any arguments recognized by ''polymake'', like ''%%-a APP_NAME%%'' or ''%%--script FILE%%''. |
The dockerized polymake can be used parallel to a locally installed polymake release or a system package. It will share all generic settings like custom variables, preferences and interactive shell input history. However, you should be aware of the data file compatibility issue. Since the image closely tracks the further development of polymake, at some point it will start producing data files (XML) with a higher version number which the statically installed polymake might not be able to consume any longer. Also, using brand new features not matured long enough by daily use can be adversary for the stability, despite of all the tests every nightly build has passed through. You might want to pin down a version which is stable enough for you with a distinctive tag (using ''docker tag'') so that you will be able to resort to it in case of problems with newer images. To run a specifically tagged version of the image, store the tag in the configuration file ''POLYMAKE_USER_DIR/container.config''. | The dockerized polymake can be used parallel to a locally installed polymake release or a system package. It will share all generic settings like custom variables, preferences and interactive shell input history. However, you should be aware of the data file compatibility issue. Since the image closely tracks the further development of polymake, at some point it will start producing data files (XML) with a higher version number which the statically installed polymake might not be able to consume any longer. Also, using brand new features not matured long enough by daily use can be adversary for the stability, despite of all the tests every nightly build has passed through. You might want to pin down a version which is stable enough for you with a distinctive tag (using ''docker tag'') so that you will be able to resort to it in case of problems with newer images. To run a specifically tagged version of the image, store the tag in the configuration file ''POLYMAKE_USER_DIR/container.config''. |
| |
| ===== Note on JavaView use ===== |
| |
| The ''thirdparty'' image contains an up-to-date JavaView release which will be used when you call the ''javaview'' function or set it as your default visualization preference. However, you should register at www.javaview.de and obtain a valid license file on your own. Before the first use of JavaView, please set the custom variable ''$JavaView::Viewer::license_file'' to the location of your license file. Otherwise you will be reminded to do so both by polymake and JavaView. |
===== Cleanup ===== | ===== Cleanup ===== |
| |
Should you decide to stop using the dockerized polymake, run ''%%polymake-in-container.sh --uninstall%%'' . It will remove the images and the resource copies from ~/.polymake. The script won't remove itself, however, for the case you change your mind later. | Should you decide to stop using the dockerized polymake, run ''%%polymake-in-container.sh --uninstall%%'' . It will remove the images and the resource copies from ~/.polymake. The script won't remove itself, however, for the case you change your mind later. |