I am trying to setup docker daemon on Centos 7.
The goal is to pass parameters to the overriding script in systemd
and keep everything in daemon.json
that is much more readable and cleaner
Default script /etc/systemd/system/docker.service.d/10-machine.conf
is:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver overlay2 --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic --insecure-registry mtm-registry:5000
Environment=
/etc/systemd/system/docker.service.d/override.conf
still has the --label provider=generic
that is the last parameter to move in daemon.json
:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --label provider=generic
In /etc/docker/daemon.json
i have already setup these parameters:
{
"storage-driver": "overlay2",
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"],
"tls": true,
"tlsverify": true,
"tlscacert": "/etc/docker/ca.pem",
"tlscert": "/etc/docker/server.pem",
"tlskey": "/etc/docker/server-key.pem",
"insecure-registries": ["my-registry:5000"]
}
I am not an expert about JSON format, so I stuck in passing "labels":
.
I have tried "labels": ["provider=generic"]
it doesn't work, dockerd
fail to start
Any suggestion in order to pass it in the right way?
SOLUTION:
I have no idea why, but after I passed the value with a space before provider=generic,
(like this: [" provider=generic"]
), daemon starts correctly:
{
"storage-driver": "overlay2",
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"],
"tls": true,
"tlsverify": true,
"tlscacert": "/etc/docker/ca.pem",
"tlscert": "/etc/docker/server.pem",
"tlskey": "/etc/docker/server-key.pem",
"insecure-registries": ["mtm-registry:5000"],
"labels": [" provider=generic"]
}