问题描述
我想使用这样的自定义 docker config.json 文件来 reassign the detach keystrokes:
{
"detachKeys": "ctrl-q,ctrl-q"
}
在“正常”的 docker 世界中,即通过 apt 或类似工具安装 docker 而不是 snap 的地方,我可以将此文件放在 $HOME/.docker/config.json 中,并在我下次运行时获取该设置泊坞窗命令。但是,在运行 /snap/bin/docker 时无法识别此文件。 docker 只是默默地忽略它。
如果我试图强制它使用这个目录,我会被拒绝:
$ docker --config .docker/ run -it ubuntu /bin/bash
WARNING: Error loading config file: .docker/config.json: open .docker/config.json: permission denied
如果我尝试在 /var/snap/docker/current/config/ 中找到与 daemon.json 一起的文件,这也会默默地无法注意到任何 config.json:
$ ls -l /var/snap/docker/current/config/
total 8
-rw-r--r-- 1 root root 36 Feb 28 11:28 config.json
-rw-r--r-- 1 root root 200 Feb 28 09:44 daemon.json
$ docker run -it ubuntu /bin/bash
现在,我可以强制指定目录位置,但肯定有更好的方法吗?
$ docker --config /var/snap/docker/current/config/ run -it ubuntu /bin/bash
解决方法
好吧,写完这个问题后,我跑到了答案。 Snap 希望这个文件放在这里:
$ ls -l ~/snap/docker/current/.docker/
total 4
-rw-r--r-- 1 gclaybur gclaybur 36 Feb 28 12:04 config.json