ubuntu Docker的守护进程.json在哪里?(失踪)

szqfcxe2  于 2023-06-29  发布在  Docker
关注(0)|答案(8)|浏览(263)

docs
Linux上配置文件的默认位置是/etc/docker/daemon. json
但我在新的docker安装中没有它:

# docker --version
Docker version 17.03.1-ce, build c6d412e
# ls -la /etc/docker/
total 12
drwx------  2 root root 4096 Apr 28 17:58 .
drwxr-xr-x 96 root root 4096 Apr 28 17:58 ..
-rw-------  1 root root  244 Apr 28 17:58 key.json
# lsb_release -cs
trusty
uurity8g

uurity8g1#

Linux上的默认配置文件路径是/etc/docker/daemon.json,但它在默认情况下并不存在。你可以自己写一个,并把额外的docker守护进程配置的东西放在那里,而不是在命令行中传递这些配置选项。您甚至不必执行dockerd --config-file /etc/docker/daemon.json,因为这是默认路径,但是对于检查系统的其他人来说,将其显式化可能很有用。
还要确保您在/etc/docker/daemon.json中设置的任何配置不会与传递到dockerd命令行调用中的选项冲突。供参考:
配置文件中设置的选项不能与通过标志设置的选项冲突。如果文件和标志之间的选项重复,则docker守护进程无法启动,无论其值如何。

lawou6xi

lawou6xi2#

如果你在安装Ubuntu的过程中安装了Docker,那么Docker是作为快照安装的。
配置可以在/var/snap/docker/current/config/daemon.json中找到。
请参阅https://github.com/docker-archive/docker-snap/issues/22#issuecomment-423361607
总结:

anonymouse64 commented on 21 Sep 2018

Modifying the daemon.json file is now supported in the version of the snap
I have published in the edge channel. The daemon is now hard-coded to read
the config file for it's settings, so you can now edit the daemon.json
located in $SNAP_DATA/config/daemon.json (on Ubuntu for example $SNAP_DATA
is /var/snap/docker/current, it may be different on your distribution) and
then restart docker for the changes to take effect with:

sudo snap restart docker

You may switch the snap to the edge channel to test this by running:

sudo snap refresh docker --edge

The changes in the edge channel should show up in stable in a short while
if you don't wish to use edge.

现在看来,这是“稳定”。我正在使用Ubuntu 20.04,我在/var/snap/docker/current/config/daemon.json中找到了daemon.json
我将'log-driver'更改为'local',重新启动后docker会接收到它:

docker info --format '{{.LoggingDriver}}'
json-file
nano /var/snap/docker/current/config/daemon.json
    # added line:  "log-driver":"local",
snap restart docker
docker info --format '{{.LoggingDriver}}'
local
w6lpcovy

w6lpcovy3#

根据@huu的回答,我在文档中搜索了具体的参考文献。
注意下面粗体的句子。

**参考1:**在配置Docker守护进程部分:

有两种方法可以配置Docker守护进程:

  • 使用JSON配置文件。这是首选选项,因为它将所有配置保存在一个地方。
  • 启动dockerd时使用标志。您可以同时使用这两个选项,只要您没有在标志和JSON文件中指定相同的选项即可。如果发生这种情况,Docker守护进程将不会启动并打印错误消息。
    若要使用JSON文件配置Docker守护进程,请在/etc/docker/daemon.json(Linux系统)或C:\ProgramData\docker\config\daemon.json(Windows系统)中创建文件。在MacOS上,转到taskbar > Preferences > Daemon > Advanced中的鲸鱼。
    **参考2:**来自启用调试部分

有两种方法可以启用调试。推荐的方法是在daemon.json文件中将debug键设置为true。这种方法适用于所有Docker平台。
1.编辑daemon.json文件,该文件通常位于/etc/docker/中。**如果此文件尚不存在,您可能需要创建此文件。**在macOS或Windows上,请勿直接编辑此文件。选择Preferences / Daemon / Advanced。
1.……

zzoitvuj

zzoitvuj4#

Docker 19+,Mac

配置文件现在在~/.docker/daemon.json中可用

wribegjk

wribegjk5#

Ubuntu 20.04如果它不存在,可以在/etc/docker目录中创建。对我很有效

mlnl4t2r

mlnl4t2r6#

对于我在mac上它位于/Users/your-username/.docker

sulc1iza

sulc1iza7#

我现在使用的是M1 MacOS,安装了最新的Docker Desktop。为此,您可以通过打开“Docker Desktop”>“Preferences”>“Docker Engine”>编辑“Configure the Docker daemon by typing a json Docker daemon configuration file”>“Apply & Restart”下的texteditor来找到daemon.json。

ryoqjall

ryoqjall8#

在windows 10 Home,Docker v24上,daemon.json的路径是:
%USERPROFILE%/.docker

相关问题