Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[27.x backport] docs, man: dockerd: add documentation for "--log-format" and "--feature" options #5439

Merged
merged 6 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 65 additions & 1 deletion docs/reference/dockerd.md
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -79,6 +80,7 @@ Options:
--label list Set key=value labels to the daemon
--live-restore Enable live restore of docker when containers are still running
--log-driver string Default driver for container logs (default "json-file")
--log-format string Set the logging format ("text"|"json") (default "text")
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--log-opt map Default log driver options for containers (default map[])
--max-concurrent-downloads int Set the max concurrent downloads (default 3)
Expand Down Expand Up @@ -890,6 +892,33 @@ Alternatively, you can set custom locations for CDI specifications using the
When CDI is enabled for a daemon, you can view the configured CDI specification
directories using the `docker info` command.

#### <a name="log-format"></a> Daemon logging format

The `--log-format` option or "log-format" option in the [daemon configuration file](#daemon-configuration-file)
lets you set the format for logs produced by the daemon. The logging format should
only be configured either through the `--log-format` command line option or
through the "log-format" field in the configuration file; using both
the command-line option and the "log-format" field in the configuration
file produces an error. If this option is not set, the default is "text".

The following example configures the daemon through the `--log-format` command
line option to use `json` formatted logs;

```console
$ dockerd --log-format=json
# ...
{"level":"info","msg":"API listen on /var/run/docker.sock","time":"2024-09-16T11:06:08.558145428Z"}
```

The following example shows a `daemon.json` configuration file with the
"log-format" set;

```json
{
"log-format": "json"
}
```

### Miscellaneous options

IP masquerading uses address translation to allow containers without a public
Expand Down Expand Up @@ -971,6 +1000,36 @@ Example of usage:
}
```

### <a name="feature"></a> 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
Expand Down Expand Up @@ -1065,7 +1124,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": "",
Expand All @@ -1089,6 +1151,7 @@ The following is a full example of the allowed configuration options on Linux:
"labels": [],
"live-restore": true,
"log-driver": "json-file",
"log-format": "text",
"log-level": "",
"log-opts": {
"cache-disabled": "false",
Expand Down Expand Up @@ -1183,6 +1246,7 @@ The following is a full example of the allowed configuration options on Windows:
"insecure-registries": [],
"labels": [],
"log-driver": "",
"log-format": "text",
"log-level": "",
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5,
Expand Down
13 changes: 13 additions & 0 deletions man/dockerd.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -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*]]
Expand All @@ -52,6 +53,7 @@ dockerd - Enable daemon mode
[**--label**[=*[]*]]
[**--live-restore**[=**false**]]
[**--log-driver**[=*json-file*]]
[**--log-format**="*text*|*json*"]
[**--log-opt**[=*map[]*]]
[**--mtu**[=*0*]]
[**--max-concurrent-downloads**[=*3*]]
Expand Down Expand Up @@ -222,6 +224,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 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` 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
the bridge subnet (which is defined by \-b or \-\-bip).
Expand Down Expand Up @@ -324,6 +334,9 @@ unix://[/path/to/socket] to use.
Default driver for container logs. Default is **json-file**.
**Warning**: **docker logs** command works only for **json-file** logging driver.

**--log-format**="*text*|*json*"
Set the format for logs produced by the daemon. Default is "text".

**--log-opt**=[]
Logging driver specific options.

Expand Down
Loading