Copy and modify docker.service actually is not the recommended way to modify docker service, as if newer package ships the file with other changes you won’t be able to get it.
The recommended way to modify a systemd service is to use the /etc/systemd/systemd/xxx.service.d/yyy.conf
approach.
Take modifying docker parameter for example, one should create the file /etc/systemd/system/docker.service.d/docker.conf
and put below in:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --storage-driver=aufs or overlay <plus other options you need>
The directory name under /etc/systemd/system/
must be the service file name plus a .d
suffix.
The file name doesn’t matter as long as it ends with .conf
.
To modify ExecStart
directive you must have a ExecStart=
line to disable the line in the original service definition, or else systemd would think you want to run two ExecStart commands, one is the original one, the other is the new one you just defined.
In such way you “contained” your modification of the service to only ```ExecStart`` so if other changes are make in docker.service in newer docker package they won’t be overridden.