Docker daemon.json 配置详解

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 服务在部分版本上不兼容,使用前请确认版本。
阅读 — · 全站 —
🎸 我的歌单 0 首