57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
|
|
# Docker
|
||
|
|
|
||
|
|
## Package policy
|
||
|
|
|
||
|
|
The profile prefers Ubuntu's `docker.io` package. If that package is
|
||
|
|
unavailable after an APT refresh, it configures Docker's official Ubuntu
|
||
|
|
repository and installs Docker Engine, containerd, Buildx, and Compose plugins.
|
||
|
|
|
||
|
|
This fallback requires network access to `download.docker.com`.
|
||
|
|
|
||
|
|
## Daemon configuration
|
||
|
|
|
||
|
|
The managed settings are:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"log-driver": "json-file",
|
||
|
|
"log-opts": {
|
||
|
|
"max-size": "50m",
|
||
|
|
"max-file": "5"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
Existing valid `/etc/docker/daemon.json` content is preserved and merged with
|
||
|
|
these log settings. A changed file is backed up with a timestamp. Invalid JSON
|
||
|
|
causes the profile to stop rather than overwrite operator configuration.
|
||
|
|
|
||
|
|
Log limits apply to newly created containers. Existing containers may retain
|
||
|
|
their original logging configuration until recreated.
|
||
|
|
|
||
|
|
## Validation
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker version
|
||
|
|
docker compose version
|
||
|
|
docker info
|
||
|
|
docker ps
|
||
|
|
docker system df
|
||
|
|
jq . /etc/docker/daemon.json
|
||
|
|
```
|
||
|
|
|
||
|
|
## Troubleshooting and rollback
|
||
|
|
|
||
|
|
```bash
|
||
|
|
systemctl status docker
|
||
|
|
journalctl -u docker
|
||
|
|
jq empty /etc/docker/daemon.json
|
||
|
|
```
|
||
|
|
|
||
|
|
To restore a previous daemon configuration, review a timestamped backup,
|
||
|
|
replace the current file, validate it with `jq empty`, and restart Docker.
|
||
|
|
Do not restore blindly when workloads depend on newer daemon settings.
|
||
|
|
|
||
|
|
The profile does not configure Docker data roots, prune objects, deploy
|
||
|
|
applications, or install the NVIDIA Container Toolkit.
|