Docker containers are not persistent.
If you turn off the host while a container is running,
the container's 'top layer' (filesystem changes relative to the image) are lost.
Hence if a Docker app does checkpoint/restart,
the checkpoint file will be lost and the job will always start from the beginning.
However: if a host directory is mounted in the container, changes to
files in that directory are persistent.
So I propose that:
docker_wrapper always mounts the slot dir at the WORKDIR of the container
and optionally mounts the project dir at /project
Dockerfiles don't COPY anything (there would be no point in doing so)
Docker apps should put files only under WORKDIR (where they're persistent)
If Docker jobs use for an input file (or executable), the file will be
in the slot dir (and hence in /app) when the container is started.
If a Docker app wants to avoid copying, it can not use ,
parse the link file and access the file in the project dir.
This simplifies everything a bit.
E.g. there's no need for copy commands in the job.toml file
Docker containers are not persistent. If you turn off the host while a container is running, the container's 'top layer' (filesystem changes relative to the image) are lost.
Hence if a Docker app does checkpoint/restart, the checkpoint file will be lost and the job will always start from the beginning.
However: if a host directory is mounted in the container, changes to files in that directory are persistent.
So I propose that:
If Docker jobs use for an input file (or executable), the file will be
in the slot dir (and hence in /app) when the container is started.
If a Docker app wants to avoid copying, it can not use ,
parse the link file and access the file in the project dir.
This simplifies everything a bit. E.g. there's no need for copy commands in the job.toml file