liveBook · Manning

Release-level setting

As explained in Learn Docker in a Month of Lunches, Second Edition

A release-level setting is an application configuration value packaged into a released container image and kept consistent across environments for that release.

A release-level setting is packaged into the container image and stays the same wherever that release runs. It belongs in the image when the value identifies or enables behavior for the release itself, rather than the deployment environment. section 18.1 section 18.5

Separate release-level settings from settings that must change after deployment:

  • Keep release-level values in the image, such as the release cycle name and default metrics behavior. section 18.1
  • Supply environment-level values through an override file provided by the container platform. section 18.1 section 18.5
  • Use feature-level environment variables for targeted changes, such as disabling metrics or reducing logging during a production problem. section 18.1 section 18.5

Run one image with different configuration

Start one container with the image defaults, then mount a development override directory into a second container: docker run -d -p 8080:80 diamol/ch18-access-log:2e; docker run -d -p 8081:80 -v "$(pwd)/config/dev:/app/config-override" diamol/ch18-access-log:2e. Query /config on both containers to compare the packaged release settings with the environment override. section 18.1

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Defines the setting and demonstrates image defaults with overrides, but stops short of configuration-library internals.
Examples
Demonstrates release cycle 19.12, enabled metrics, Docker image defaults, mounted development overrides, and configuration API checks.
What you can do after
Operate one image across environments by inspecting packaged settings and applying filesystem or environment-variable overrides.
How it connects
Connects release-level settings with environment-level settings, feature-level settings, configuration files, environment variables, and CI/CD pipelines.

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.