From docs:
The default location of the configuration file on Linux is /etc/docker/daemon.json
But I don\'t have it on my fresh doc
The default config file path on Linux is /etc/docker/daemon.json
like you said, but it doesn't exist by default. You can write one yourself and put additional docker daemon configuration stuff in there instead of passing in those configuration options into the command line. You don't even have to do dockerd --config-file /etc/docker/daemon.json
since that's the default path, but it can be useful to make it explicit for others who are inspecting the system.
Also ensure that any configuration you set in /etc/docker/daemon.json
doesn't conflict with options passed into the command line evocation of dockerd
. For reference:
The options set in the configuration file must not conflict with options set via flags. The docker daemon fails to start if an option is duplicated between the file and the flags, regardless their value.
For me on mac it was located in /Users/your-username/.docker
Based on @huu answer I searched for the specific reference in the docs.
Notice the sentences in bold below.
Reference 1: From the Configure the Docker daemon section:
There are two ways to configure the Docker daemon:
Use a JSON configuration file. This is the preferred option, since it keeps all configurations in a single place.
Use flags when starting dockerd. You can use both of these options together as long as you don’t specify the same option both as a flag and in the JSON file. If that happens, the Docker daemon won’t start and prints an error message.
To configure the Docker daemon using a JSON file, create a file at
/etc/docker/daemon.json
on Linux systems, orC:\ProgramData\docker\config\daemon.json
on Windows. On MacOS go to the whale in thetaskbar > Preferences > Daemon > Advanced
.
Reference 2: From the Enable debugging section
There are two ways to enable debugging. The recommended approach is to set the debug key to true in the daemon.json file. This method works for every Docker platform.
Edit the daemon.json file, which is usually located in /etc/docker/. You may need to create this file, if it does not yet exist. On macOS or Windows, do not edit the file directly. Instead, go to Preferences / Daemon / Advanced.
....