Condor in a container works on alpine 3.10 with caveats.
-
Edit the
Dockerfileand change condorUIDandGIDto suit your pool before building. -
Run with
`--net host \
-v /etc/condor:/etc/condor \
-v /var/lib/condor:/var/lib/condor \
-v /var/log/condor:/var/log/condor \
-v /var/run/docker.sock:/var/run/docker.sock
(and place you config files under /etc/condor, of course.)
-
Add
condortodockergroup on the host so it can write to/var/run/docker.sockand spawn "sibling" containers. That, and mounting/var/run/docker.sockis for runningdockeruniverse jobs: you don't need it if you don't want them, but see below. -
Nameservice switch does not work in
alpineso if you have user accounts in LDAP or other SSO system, running as submitting user will fail. As will shared filesystem jobs, most likely.
UID_DOMAIN = $(FULL_HOSTNAME)
in the config will make all jobs run as nobody.
- There's more things that don't work in
alpinecourtesy ofglibcso
START = WantDocker
in the config to make sure only docker universe (i.e. fully-self contained) jobs can run.
- The
ENTRYPOINTis simply a wrapper that redirects output ofcondor_masterto a log file. It's probably not needed, you could capture master logs throughdocker, but as far as I can tell, othercondordaemons will still want to log to/var/log/condor. At least if you keep the default config.