mirror of
https://github.com/dokku/dokku.git
synced 2026-05-18 05:05:46 +02:00
This change converts existing CHECKS files into a healthchecks key that is understood by 'docker-container-healthchecker'. This tool supports a number of different types of container healthchecks - command, http, uptime - and can perform healthchecks against non-web processes. The use of the old CHECKS file is now deprecated, and will be removed in the next minor version. Users can use the 'docker-container-healthchecker' to convert existing CHECKS files to the new format automatically. Closes #2760
4.7 KiB
4.7 KiB
0.31.0 Migration Guide
Changes
- Herokuish build cache is now mounted from a docker volume - eg.
cache-node-js-app- instead of the local filesystem. All existing app cache will be cleared upon upgrading past 0.29.0. - The
vectorcontainer integration now mounts config to/etc/vectorinstead of the path/etc/vector/vector.json, allowing users the ability to provide extra configuration for Vector Sinks. To take advantage of the new functionality, the vector container should be stopped (viadokku logs:vector-stop) and then started (viadokku logs:vector-start). - The
traefikintegration now mounts config to/datainstead of the path/acme.json, fixing permissions issues under certain architectures. To take advantage of the new functionality, the traefik container should be stopped (viadokku traefik:stop) and then started (viadokku traefik:start). - Users no longer need to clear the
source-imagegit property when transitioning from image-based deploys (git:from-imageandgit:load-image) to other deployment methods (git push,git:from-archive,git:sync). - For deploys via the
git:from-imageandgit:load-imagecommands, theCHECKSfile is now extracted from the configuredWORKDIRproperty of the image. For all other deploys - git push,git:from-archive,git:sync- will have theCHECKSextracted directly from the source code. The filename in both cases isCHECKSand cannot be modified. - Port mappings are now auto-detected during the build process. Users may override detected port mappings via the
portsplugin. A default port mapping ofhttp:80:5000will be used if none is otherwise specified. - Users building docker images that run Dokku will need to use a new sudoer wrapper for the
docker-container-healthcheckerbinary to work correctly. A reference version has been placed in thedockerskeleton directory. This should only impact platform developers, and users of our Docker image will already have the file available.
Deprecations
- The
proxy:ports*commands have been replaced with the newportsplugin. Users will be able to use the oldproxy:ports*commands for a single minor release, and they will be removed in the next minor release. - The
common#get_available_port()function has been deprecated and will be removed in the next release. Users should avoid interacting with this function and instead use theports-get-availableplugin trigger for fetching an available port. - The
proxy-configure-portsplugin trigger has been deprecated and will be removed in the next release. Users should instead trigger theports-configureplugin trigger. - The
common#get_dockerfile_exposed_ports()function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was in thebuilder-dockerfileplugin. - The
common#get_exposed_ports_from_image()function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was during the build process. - The environment variable
DOKKU_PROXY_PORT_MAPhas been migrated to the properties system. Direct changes to the value will be ignored, and users should interact with port maps via theportsplugin. - The
CHECKSfile is deprecated in favor of defining healthchecks in theapp.jsonfile. The docker-container-healthchecker tool can be used to generate healthcheck entries inapp.jsonformat from existingCHECKSfiles. See the zero-downtime deploy documentation for more information on how the new zero downtime check format works.
Un-Deprecations
- The bare
appsandconfigcli aliases are no longer deprecated. This better follows Heroku's output and is more useful to users. The subcommands will be treated as the primary, documented versions, while the aliases are there for convenience.
Removals
- The variable
RAW_TCP_PORTSis no longer exposed fornginx.conf.sigiltemplating. - The environment variable
DOKKU_DOCKERFILE_PORTSis no longer in use. Users wishing to change port mappings should instead use theportsplugin. - The
common#get_app_raw_tcp_ports()function has been removed in the next release. Users should instead use theports-getplugin trigger for fetching ports for an app. - The plugin trigger
network-compute-portshas been removed. It's only use was in thescheduler-docker-localplugin, for exposing ports. It's functionality is now implemented via theportsplugin. - The plugin trigger
network-get-porthas been removed. It's only use was in thescheduler-docker-localplugin, for recording ports. It's functionality is now implemented via theportsplugin.