如何在 docker 17.06.2-ce 中测试实验性功能

如何在 docker 17.06.2-ce 中测试实验性功能

我想在 docker 17.06.2-ce 中使用 --squash 选项。当我准备使用该功能时,我收到一条消息说

“--squash” 仅在启用了实验功能的 Docker 守护进程上受支持

我已经按照教程Docker 1.13 实验性功能并发出以下命令,因为我使用的是 ubuntu 16.04。

# cat /etc/systemd/system/docker.service.d/docker.conf 
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --experimental=true

无论如何,我找不到docker.conf文件和docker.service.d文件夹。所以我必须手动创建这些文件和文件夹。之后重新启动docker deamon并发出以下命令。

sudo systemctl daemon-reload
sudo systemctl restart docker

无论如何,我仍然收到相同的消息并且无法使用squash选项。我在这里遗漏了什么?

编辑

我已经检查了docker,发出以下命令,发现docker正在启用实验性运行。

sudo docker 版本

Server:
 Version:      17.06.2-ce
 API version:  1.30 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   cec0b72
 Built:        Tue Sep  5 19:59:11 2017
 OS/Arch:      linux/amd64
 Experimental: true

答案1

创建一个名为/etc/docker/daemon.json

并添加如下内容:

{ 
    "experimental": true 
}

然后:

sudo service docker restart

来源

答案2

当我以 root 身份运行 docker 命令时sudo,似乎我可以使用 squash 运行命令而不会出现任何问题。不确定为什么它会给出这个错误消息,而不是权限被拒绝的消息。

相关内容