需修改/etc/docker/daemon.json文件添加"experimental": true并重启Docker服务;验证命令docker info | grep "Experimental"输出true即成功,该配置启用--platform、buildx等实验功能,但不建议用于生产环境。
要在 docker 中启用实验性功能,核心是修改 daemon.json 文件并重启服务。实验特性默认关闭,开启后可使用如 --platform、docker buildx、docker compose up --detach 的高级行为等,但需注意其稳定性风险,不建议用于生产环境。
修改 /etc/docker/daemon.json
该文件是 Docker 守护进程(dockerd)的主配置文件,Linux/macOS 默认路径为 /etc/docker/daemon.json,Windows Docker Desktop 可通过设置界面中的 “Daemon” → “Advanced” 编辑。
确保文件存在且格式合法(纯 JSON,双引号、无尾逗号),在已有配置对象内添加 "experimental": true 字段。例如:
"registry-mirrors": ["https://mirrors.aliyun.com"],
"log-level": "warn",
"experimental": true
}
若文件为空或不存在,直接创建并写入合法 JSON 对象即可。
重启 Docker 服务使配置生效
修改后必须重启 dockerd 才能加载新配置:
- Linux(systemd 系统):
sudo systemctl restart docker - macOS(Docker Desktop):右键菜单选择 “Restart” 或在设置中点击 “Apply & Restart”
- Windows(Docker Desktop):设置 → Daemon → Apply & Restart
重启失败常见原因是 JSON 格式错误,可用 jq . /etc/docker/daemon.json 验证语法,或先备份原文件再操作。
验证是否启用成功
运行以下命令检查输出中是否包含 Experimental: true:
也可执行依赖实验特性的命令测试,例如:
docker buildx build --platform linux/arm64 -t test .若不再报错 “flag requires experimental CLI features to be enabled”,说明已就绪。
补充说明:CLI 实验模式(可选)
部分命令(如 docker scan、docker sbom)还需额外开启 CLI 实验特性,方式有两种:
- 编辑
~/.docker/config.json,添加"experimental": "enabled" - 或设置环境变量:
export DOCKER_CLI_EXPERIMENTAL=enabled(Linux/macOS);Windows 用户可通过系统属性设置用户级环境变量
注意:CLI 实验模式与 daemon 实验模式相互独立,--platform 等构建相关功能只依赖 daemon 层的 "experimental": true。











