Docker daemon.json 配置详解
/etc/docker/daemon.json 是 docker daemon(dockerd)的配置文件。修改后需要重启 docker 服务才能生效。
1 配置示例
{
"insecure-registries": [
"docker-registry.example.com:5000",
"registry.example.com"
],
"live-restore": true,
"hosts": [
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2376"
],
"data-root": "/home/docker"
}
2 常用配置选项解读
| 配置项 | 说明 |
|---|---|
insecure-registries |
私有非安全仓库地址(HTTP 或证书不受信任的仓库) |
live-restore |
允许 docker daemon 在重启(升级/维护)过程中容器继续保持运行 |
hosts |
docker daemon 监听地址列表,可同时监听 unix socket 和 tcp 端口 |
data-root |
存放 images / volumes / cluster state 的根目录,默认 /var/lib/docker |
registry-mirrors |
Docker Hub 镜像加速地址列表 |
storage-driver |
存储驱动(如 overlay2、vfs、devicemapper) |
更多选项文档:https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
3 常见端口约定
2376:Docker daemon 的加密(TLS)远程 API 端口。2375:Docker daemon 的非加密远程 API 端口(暴露在公网非常危险)。- 仅在受信内网环境下开放 tcp 监听,并建议使用 TLS 或限制来源 IP。
4 操作步骤
# 1. 编辑配置
vim /etc/docker/daemon.json
# 2. 重启 daemon
sudo systemctl daemon-reload
sudo systemctl restart docker
# 或老版本 init 脚本
/etc/init.d/docker start
# 3. 确认生效
docker info
docker system info
docker info 的 Insecure Registries: 一节会列出所有已生效的非安全仓库地址。
5 注意事项
hosts与命令行-H参数互斥,同时使用时命令行参数优先。- 修改
data-root后,原目录下的数据不会自动迁移,需要手动rsync或重新 pull。 live-restore与swarm服务在部分版本上不兼容,使用前请确认版本。
阅读 —
·
全站 —