You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to get the command line scripts, you need to make sure that the local
@@ -77,19 +81,30 @@ We maintain three official problemtools Docker images on Docker Hub:
77
81
78
82
-[`problemtools/minimal`](https://hub.docker.com/r/problemtools/minimal/): this image only contains problemtools, no additional programming languages. As such, it is not particularly useful on its own, but if you are organizing a contest and want to set up a problemtools environment containing exactly the right set of compilers/interpreters for your contest, this is the recommended starting point.
79
83
80
-
For example, suppose you want to use the `problemtools/icpc` image. To get started, install the [Docker CLI](https://docs.docker.com/install), and then pull the image:
84
+
For example, suppose you want to use the `problemtools/icpc` image. To get started (or update to the latest release), install the [Docker CLI](https://docs.docker.com/install), and then pull the image:
81
85
82
86
docker pull problemtools/icpc
83
87
84
-
Once the image has finished downloading, you can check that it exists on your system using `docker images`. To launch an interactive container and play around with *verifyproblem*, *problem2pdf*, and *problem2html* run:
88
+
The most convenient way to use the container is by creating shell script(s) similar to this and add it to your `$PATH`. If you call the script `verifyproblem.sh`, you could then `verifyproblem.sh examples/hello` to use the icpc docker image to verify examples/hello:
To instead launch an interactive container and play around with *verifyproblem*, *problem2pdf*, and *problem2html* run:
85
100
86
101
docker run --rm -it problemtools/icpc
87
102
88
103
By default, docker containers do _NOT_ persist storage between runs, so any files you create or modify will be lost when the container stops running. Two common ways of dealing with this are:
89
104
90
-
1) Use a [bind mount](https://docs.docker.com/storage/bind-mounts/) to mount a directory on your machine into the docker container. This can be done as follows (see Docker documentation for further details):
105
+
1) Use a [bind mount](https://docs.docker.com/storage/bind-mounts/) to mount a directory on your machine into the docker container. Mounting the current directory to /kattis_work_dir can be done as follows (see Docker documentation for further details):
91
106
```
92
-
docker run --rm -it -v ${FULL_PATH_TO_MOUNT}:/kattis_work_dir problemtools/icpc
107
+
docker run --rm -it -v $(pwd):/kattis_work_dir problemtools/icpc
93
108
```
94
109
2) Persist any changes you want to keep to a remote file system/source control (e.g., a remote Git repository; note, however, that you would first need to install Git in the image).
95
110
@@ -211,7 +226,8 @@ problemtools' configuration:
211
226
## Requirements and compatibility
212
227
213
228
To build and run the tools, you need Python 3 with the YAML and PlasTeX libraries,
214
-
and a LaTeX installation.
229
+
and a LaTeX installation. You must also install language tools (e.g., compilers)
0 commit comments