Dockerfile to build a docker image allowing you to run
boinccmd command in a container, to control a remote BOINC
For a dockerized BOINC client, see the
3 simple reasons:
I occasionally want to run BOINC on a machine that isn't mine, and it's either restricted or I don't want it to be visible or to leave stray data on the machine.
I didn't find a decent Dockerfile for this yet that I could use directly, and I figured others might like to have one.
It serves as a good test-bed for me to learn about docker for other purposes, as it could require me to use a lot of its features on the long run if it matures into something decent: volumes, data containers, links, compose, etc...
Pull From DockerHub
docker pull laurentmalvert/docker-boinccmd
Build It Yourself
docker -t boinccmd .
For information on the
boinccmd itself, read its documentation
at the BOINC wiki.
docker run \ --rm \ laurentmalvert/docker-boinccmd \ --host <HOST> \ [<BOINCCMD_ARGS>]
Controlling a Dockerized BOINC Client
Assuming you are using a dockerized BOINC client, like the one
provided by the
docker-boinc repo, and that you gave its container
boinc, you can control is using:
docker run \ --rm \ --link boinc:boinc \ laurentmalvert/docker-boinccmd \ --host boinc \ [<BOINCCMD_ARGS>]
# get current state docker run \ --rm \ --link boinc:boinc \ laurentmalvert/docker-boinccmd \ --host boinc \ --get_state # join account manager docker run \ --rm \ --link boinc:boinc \ laurentmalvert/docker-boinccmd \ --host boinc \ --join_acct_mgr <URL> <LOGIN> <PASS>
Possible Improvements ?
- Use volumes to grab startup config.
- Provide some preset startup scripts.
boinccmdimage unnecessarily installs the whole of boinc, when it only requires parts of it.