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
Design notes on proposed Docker features.
Related issues: #5617, #5512
The basic idea is to make a cross-platform "Docker wrapper" that interfaces the BOINC client to the Docker engine.
The wrapper uses the docker CLI program (e.g. docker run foo) to create and control containers.
An app version would consist of:
the wrapper
a Docker file, which defines the image (which may use images from public or private registries)
Additional files, e.g. executable
Issues:
Input/output files
Goal: no copying of large files.
To do this: the wrapper mounts the slot and project dirs in the container.
The main script uses resolve.sh to map logical to physical names.
Suspend/resume
Use 'docker run --stop name'
CPU throttling
Does Docker have a feature for this? Don't want to use BOINC's stop/start approach.
Checkpointing
Can we use 'docker commit'?
Fraction done
Do this using a file in slot dir; app writes it.
Cleaning up old images
When and how?
Getting stderr output
Use a file in slot dir? or does Docker have a feature for this?
Finish file and exit code
How does wrapper know if app really finished?
Getting CPU time and working set size
Can the wrapper run ps in container, like WSL wrapper?
Windows issues
What WSL image should the wrapper use?
Other container systems
Docker is free only for organizations with < 250 employees and $10M revenue.
These parameters can change at any time.
Maybe we should design things so that we could also use Singulariy
or Podman.
The text was updated successfully, but these errors were encountered:
Design notes on proposed Docker features.
Related issues: #5617, #5512
The basic idea is to make a cross-platform "Docker wrapper" that interfaces the BOINC client to the Docker engine.
The wrapper uses the docker CLI program (e.g. docker run foo) to create and control containers.
An app version would consist of:
Issues:
Input/output files
Goal: no copying of large files.
To do this: the wrapper mounts the slot and project dirs in the container.
The main script uses resolve.sh to map logical to physical names.
Suspend/resume
Use 'docker run --stop name'
CPU throttling
Does Docker have a feature for this? Don't want to use BOINC's stop/start approach.
Checkpointing
Can we use 'docker commit'?
Fraction done
Do this using a file in slot dir; app writes it.
Cleaning up old images
When and how?
Getting stderr output
Use a file in slot dir? or does Docker have a feature for this?
Finish file and exit code
How does wrapper know if app really finished?
Getting CPU time and working set size
Can the wrapper run ps in container, like WSL wrapper?
Windows issues
What WSL image should the wrapper use?
Other container systems
Docker is free only for organizations with < 250 employees and $10M revenue.
These parameters can change at any time.
Maybe we should design things so that we could also use
Singulariy
or Podman.
The text was updated successfully, but these errors were encountered: