As there can be custom schedulers, including scheduler-specific information on the resource management page can be a disingenuous - the values don't map to kubernetes, for example - and thus we should call out to the scheduler docs (and underlying docker docs) to make the mapping more clear.
3.4 KiB
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-createpost-deletepre-deploypre-restorescheduler-deployscheduler-docker-cleanupscheduler-inspectscheduler-logs-failedscheduler-logsscheduler-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), and 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) and 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) and 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.
Resource Reservations
- memory: (docker option:
--memory-reservation) and 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.