Docker Local Scheduler
New
Subcommands introduced in 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
Introduced in 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:
As it is the default, unsetting the DOCKER_SCHEDULER config variable is also a valid way to reset the 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:
Once set, you may re-enable it by setting a blank value for 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.