From 610f9157f51b3c23fb364d8467f55b2c788301d9 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Thu, 12 Sep 2024 19:24:29 +0200 Subject: [PATCH 1/4] man: update dockerd man-page to include --feature flag commit f13c08246d93dd5aae200d5881a3a374e6cac876 introduced this flag, but did not yet update the manpage. Signed-off-by: Sebastiaan van Stijn --- man/dockerd.8.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/man/dockerd.8.md b/man/dockerd.8.md index 2a769e5671..47391497c4 100644 --- a/man/dockerd.8.md +++ b/man/dockerd.8.md @@ -31,6 +31,7 @@ dockerd - Enable daemon mode [**--exec-opt**[=*[]*]] [**--exec-root**[=*/var/run/docker*]] [**--experimental**[=**false**]] +[**--feature**[=*NAME*=**true**|**false**] [**--fixed-cidr**[=*FIXED-CIDR*]] [**--fixed-cidr-v6**[=*FIXED-CIDR-V6*]] [**-G**|**--group**[=*docker*]] @@ -222,6 +223,14 @@ $ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-ru **--experimental**="" Enable the daemon experimental features. +**--feature**=*NAME*=**true**|**false** + Enable or disable feature feature in the daemon. This option corresponds + with the "features" field in the daemon.json configuration file. Using + both the command-line option and the "features" field in the configuration + file produces an error. The feature option can be specified multiple times + to configure multiple features. + Usage example: `--feature containerd-snapshotter=true` + **--fixed-cidr**="" IPv4 subnet for fixed IPs (e.g., 10.20.0.0/16); this subnet must be nested in the bridge subnet (which is defined by \-b or \-\-bip). From fb056d2cebfa1e2d4a78ff3614df39e5af1a2ecf Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Mon, 16 Sep 2024 09:57:39 +0200 Subject: [PATCH 2/4] man: fix duplicate word in --feature flag description Signed-off-by: Sebastiaan van Stijn --- man/dockerd.8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/dockerd.8.md b/man/dockerd.8.md index 47391497c4..ebcb3691be 100644 --- a/man/dockerd.8.md +++ b/man/dockerd.8.md @@ -224,7 +224,7 @@ $ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-ru Enable the daemon experimental features. **--feature**=*NAME*=**true**|**false** - Enable or disable feature feature in the daemon. This option corresponds + Enable or disable a feature in the daemon. This option corresponds with the "features" field in the daemon.json configuration file. Using both the command-line option and the "features" field in the configuration file produces an error. The feature option can be specified multiple times From a357db0aba22d669e892c13606573046e8ba01e1 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Mon, 16 Sep 2024 10:26:20 +0200 Subject: [PATCH 3/4] man: dockerd: value is optional for --feature flag The --feature flag allows the boolean value to be omitted. If only a name is provided, the default is "true". Signed-off-by: Sebastiaan van Stijn --- man/dockerd.8.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/man/dockerd.8.md b/man/dockerd.8.md index ebcb3691be..c93f809991 100644 --- a/man/dockerd.8.md +++ b/man/dockerd.8.md @@ -31,7 +31,7 @@ dockerd - Enable daemon mode [**--exec-opt**[=*[]*]] [**--exec-root**[=*/var/run/docker*]] [**--experimental**[=**false**]] -[**--feature**[=*NAME*=**true**|**false**] +[**--feature**[=*NAME*[=**true**|**false**]] [**--fixed-cidr**[=*FIXED-CIDR*]] [**--fixed-cidr-v6**[=*FIXED-CIDR-V6*]] [**-G**|**--group**[=*docker*]] @@ -223,13 +223,13 @@ $ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-ru **--experimental**="" Enable the daemon experimental features. -**--feature**=*NAME*=**true**|**false** +**--feature**=*NAME*[=**true**|**false**] Enable or disable a feature in the daemon. This option corresponds with the "features" field in the daemon.json configuration file. Using both the command-line option and the "features" field in the configuration file produces an error. The feature option can be specified multiple times to configure multiple features. - Usage example: `--feature containerd-snapshotter=true` + Usage example: `--feature containerd-snapshotter` or `--feature containerd-snapshotter=true`. **--fixed-cidr**="" IPv4 subnet for fixed IPs (e.g., 10.20.0.0/16); this subnet must be nested in From a42ca1148d5a7ab503ad081c3c3d59dcf55f0330 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Mon, 16 Sep 2024 11:28:41 +0200 Subject: [PATCH 4/4] docs/reference: dockerd: add docs for --feature option Signed-off-by: Sebastiaan van Stijn --- docs/reference/dockerd.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/docs/reference/dockerd.md b/docs/reference/dockerd.md index c13c20a864..a6b6464aeb 100644 --- a/docs/reference/dockerd.md +++ b/docs/reference/dockerd.md @@ -57,6 +57,7 @@ Options: --exec-opt list Runtime execution options --exec-root string Root directory for execution state files (default "/var/run/docker") --experimental Enable experimental features + --feature map Enable feature in the daemon --fixed-cidr string IPv4 subnet for fixed IPs --fixed-cidr-v6 string IPv6 subnet for fixed IPs -G, --group string Group for the unix socket (default "docker") @@ -971,6 +972,36 @@ Example of usage: } ``` +### Enable feature in the daemon (--feature) + +The `--feature` option lets you enable or disable a feature in the daemon. +This option corresponds with the "features" field in the [daemon.json configuration file](#daemon-configuration-file). +Features should only be configured either through the `--feature` command line +option or through the "features" field in the configuration file; using both +the command-line option and the "features" field in the configuration +file produces an error. The feature option can be specified multiple times +to configure multiple features. The `--feature` option accepts a name and +optional boolean value. When omitting the value, the default is `true`. + +The following example runs the daemon with the `cdi` and `containerd-snapshotter` +features enabled. The `cdi` option is provided with a value; + +```console +$ dockerd --feature cdi=true --feature containerd-snapshotter +``` + +The following example is the equivalent using the `daemon.json` configuration +file; + +```json +{ + "features": { + "cdi": true, + "containerd-snapshotter": true + } +} +``` + ### Daemon configuration file The `--config-file` option allows you to set any configuration option @@ -1065,7 +1096,10 @@ The following is a full example of the allowed configuration options on Linux: "exec-opts": [], "exec-root": "", "experimental": false, - "features": {}, + "features": { + "cdi": true, + "containerd-snapshotter": true + }, "fixed-cidr": "", "fixed-cidr-v6": "", "group": "",