Developer
Developer

Reputation: 26173

"Trailing garbage, ignoring." Error for Docker using puppet in centos on vagrant virtualbox

When I trying to install docker on Centos 7 using puppet docker module using this puppet module https://forge.puppet.com/puppetlabs/docker

  # Install Docker
  class { 'docker':
    version => '18.06.1.ce-3.el7',
  }

I am using vagrant, virutalbox and following centos box

   config.vm.box = "geerlingguy/centos7"
   config.vm.box_version = "1.2.15"

First time it runs fine, but on provision box again

$ vagrant provsion --color

getting this error any idea how can I fix it?

==> default: Info: /Stage[main]/Docker::Service/Exec[docker-systemd-reload-before-service]: Scheduling refresh of Service[docker]
==> default: Error: Systemd start for docker failed!
==> default: journalctl log for docker:
==> default: -- Logs begin at Mon 2019-10-14 15:41:55 NZDT, end at Mon 2019-10-14 15:43:14 NZDT. --
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default:
==> default: Error: /Stage[main]/Docker::Service/Service[docker]/ensure: change from 'stopped' to 'running' failed: Systemd start for docker failed!
==> default: journalctl log for docker:
==> default: -- Logs begin at Mon 2019-10-14 15:41:55 NZDT, end at Mon 2019-10-14 15:43:14 NZDT. --
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
==> default: Oct 14 15:43:14 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
==> default:
==> default: Notice: /Stage[main]/Docker::Service/Service[docker]: Triggered 'refresh' from 1 event

There are different links related to similar problem but none was really related to this error https://github.com/docker/for-linux/issues/162

https://github.com/moby/moby/issues/34091

https://github.com/coreos/fleet/issues/992

Update

[vagrant@docker ~]$ sudo systemctl daemon-reload
[vagrant@docker ~]$ sudo systemctl start docker
Failed to start docker.service: Unit is not loaded properly: Invalid argument.
See system logs and 'systemctl status docker.service' for details.
[vagrant@docker ~]$ sudo systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: error (Reason: Invalid argument)
  Drop-In: /etc/systemd/system/docker.service.d
           └─service-overrides.conf
   Active: inactive (dead)
     Docs: https://docs.docker.com

Oct 16 11:54:25 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
Oct 16 11:57:05 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
Oct 16 11:57:05 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
Oct 16 11:57:05 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
Oct 16 11:57:21 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
Oct 16 11:57:21 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
Oct 16 11:57:21 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
Oct 16 11:57:32 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:6] Trailing garbage, ignoring.
Oct 16 11:57:32 docker systemd[1]: [/etc/systemd/system/docker.service.d/service-overrides.conf:7] Missing '='.
Oct 16 11:57:32 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.
[vagrant@docker ~]$ 

Upvotes: 0

Views: 1707

Answers (1)

ckaserer
ckaserer

Reputation: 5702

Based on your error messge

==> default: Oct 14 15:43:14 docker systemd[1]: docker.service lacks both ExecStart= and ExecStop= setting. Refusing.

it seems like your docker.service file lacks a few lines that are crucial for running and controlling a service.

You can check out a working example by docker here:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.service

You can identify where your service file is on your given system via

sudo systemctl status docker
    docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)

As you can see in the example above the service file is located in /usr/lib/systemd/system/docker.service.

Upvotes: 1

Related Questions