当 docker 作为 snap 安装在 Ubuntu 上时,我在哪里放置 docker config.json 文件?

问题描述

我想使用这样的自定义 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...