我在使用systemd启动Docker容器时遇到了问题。当我手动使用sudo docker start containername
启动它时,容器可以正常运行,但是当我使用sudo systemctl start containername
通过systemd启动容器时,容器会在10秒后神秘地死掉,并在syslog中留下以下类似的消息:
Mar 13 14:01:09 hostname docker[329]: time="2015-03-13T14:01:09Z" level="info" msg="POST /v1.17/containers/containername/stop?t=10"
Mar 13 14:01:09 hostname docker[329]: time="2015-03-13T14:01:09Z" level="info" msg="+job stop(containername)"
我认为这是systemd在杀死进程,但我不知道为什么会发生这种情况。systemd单元文件(/etc/systemd/system/containername.service)相当简单,如下所示:
[Unit]
Description=MyContainer
After=docker.service
Requires=docker.service
[Service]
ExecStart=/usr/bin/docker start containername
ExecStop=/usr/bin/docker stop containername
[Install]
WantedBy=multi-user.target
Docker在启动时没有问题,似乎它甚至启动了Docker容器,但无论是在开机时还是手动启动后,它都会在10秒钟后就退出了。非常感谢您的帮助!