Docker实验性功能需同时启用CLI和daemon两层配置:CLI端在~/.docker/config.json中设"experimental": "enabled",daemon端在/etc/docker/daemon.json中设"experimental": true;两者缺一不可,否则如docker manifest等命令无法使用。

1. 启用 Docker CLI 实验性功能
这是使用命令行调用实验命令(如 `docker manifest`、`docker buildx` 基础支持)的前提。推荐方式是修改用户级配置文件:
- 确保目录存在:
mkdir -p ~/.docker - 编辑或创建
~/.docker/config.json - 加入字段:
{"experimental": "enabled"}(注意值为字符串 "enabled") - 保存后无需重启 CLI,新终端会自动生效
临时启用也可通过环境变量(适合脚本或单次调试):
- Linux/macOS:
export DOCKER_CLI_EXPERIMENTAL=enabled - Windows PowerShell(当前会话):
$env:DOCKER_CLI_EXPERIMENTAL="enabled"
2. 启用 Docker Daemon 实验性功能
这是底层支持的关键,影响镜像构建、运行时行为等核心能力(如 BuildKit 高级特性、`--platform` 拉取、容器运行时扩展等)。操作步骤:
使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。
- 编辑系统级配置文件:
/etc/docker/daemon.json - 若文件不存在,可新建(需 root 权限):
sudo touch /etc/docker/daemon.json - 写入内容:
{"experimental": true}(注意值为布尔 true,不是字符串) - 重载并重启服务:
sudo systemctl daemon-reload && sudo systemctl restart docker
3. 验证是否启用成功
执行以下命令确认两处均已生效:
-
docker version—— 查看输出中 Client.Experimental 和 Server.Experimental 是否均为 true -
docker info | grep Experimental—— 应显示Experimental: true -
docker manifest --help—— 若命令可用且不报错,说明 CLI 层已就绪
4. 注意事项与常见问题
启用后需留意:
- 实验性功能接口可能在后续版本变更或移除,不建议直接用于生产环境关键流程
- 某些功能(如 BuildKit)还需额外开启,例如在
daemon.json中加"features": {"buildkit": true} - 如果使用 Docker Desktop,也可在 GUI 设置中勾选「Enable experimental features」,它会自动同步更新上述两个配置文件
- 配置文件语法必须严格为 JSON 格式(末尾无逗号、引号全英文、布尔值小写),否则 daemon 无法启动

















