Docker Local Scheduler¶
Subcommands new as of 0.12.12
scheduler-docker-local:report [<app>] [<flag>] # Displays a scheduler-docker-local report for one or more apps
scheduler-docker-local:set <app> <key> (<value>) # Set or clear a scheduler-docker-local property for an app
New as of 0.12.0
Dokku natively includes functionality to manage application lifecycles for a single server using the scheduler-docker-local plugin. It is the default scheduler, but as with all schedulers, it is set on a per-application basis. The scheduler can currently be overridden by running the following command:
dokku config:set node-js-app DOCKER_SCHEDULER=docker-local
As it is the default, unsetting the DOCKER_SCHEDULER config variable is also a valid way to reset the scheduler.
dokku config:unset node-js-app DOCKER_SCHEDULER
Usage¶
Disabling chown of persistent storage¶
The scheduler-docker-local plugin will ensure your storage mounts are owned by either herokuishuser or the overridden value you have set in DOKKU_APP_USER. You may disable this by running the following scheduler-docker-local:set command for your application:
dokku scheduler-docker-local:set node-js-app disable-chown true
Once set, you may re-enable it by setting a blank value for disable-chown:
dokku scheduler-docker-local:set node-js-app disable-chown
Implemented Triggers¶
This plugin implements various functionality through plugn triggers to integrate with Docker for running apps on a single server. The following functionality is supported by the scheduler-docker-local plugin.
check-deploycore-post-deploypost-app-clone-setuppost-app-rename-setuppost-createpost-deletepre-deploypre-restorescheduler-app-statusscheduler-deployscheduler-docker-cleanupscheduler-inspectscheduler-is-deployedscheduler-logsscheduler-logs-failedscheduler-retirescheduler-runscheduler-stopscheduler-tags-createscheduler-tags-destroy
Supported Resource Management Properties¶
The docker-local scheduler supports a minimal list of resource limits and reservations. The following properties are supported:
Resource Limits¶
cpu: (docker option:
--cpus), is specified in number of CPUs a process can access.See the “CPU” section of the Docker Runtime Options documentation for more information.
memory: (docker option:
--memory) should be specified with a suffix ofb(bytes),k(kilobytes),m(megabytes),g(gigabytes).See the “Memory” section of the Docker Runtime Options documentation for more information.
memory-swap: (docker option:
--memory-swap) should be specified with a suffix ofb(bytes),k(kilobytes),m(megabytes),g(gigabytes)See the “Memory” section of the Docker Runtime Options documentation for more information.
nvidia-gpus: (docker option:
--gpus), is specified in number of Nvidia GPUs a process can access.See the “GPU” section of the Docker Runtime Options documentation for more information.
Resource Reservations¶
memory: (docker option:
--memory-reservation) should be specified with a suffix ofb(bytes),k(kilobytes),m(megabytes),g(gigabytes)See the “Memory” section of the Docker Runtime Options documentation for more information.