我有以下systemd脚本:

[Unit]
Description=Hub docker container
After=docker.service

[Service]
User=root
ExecStart=/home/hub/hub.sh
ExecStop=/bin/docker stop hub
ExecStopPost=/bin/docker rm hub

[Install]
WantedBy=multi-user.target

运行命令: systemctl启动/停止中心可以正常工作。我还通过使用 systemctl enable hub 创建了符号链接(symbolic link)。重新启动整个笔记本电脑后,为什么我的服务无法启动?我遵循了docker指南,以便Docker在重新启动时启动,但是由于某种原因我的容器无法启动。我是否在脚本中缺少字段?

我正在使用我的ExecStart“/home/hub/hub.sh”脚本的命令是:
docker run --net=host --restart=always --name hub -t hub

重新启动后,当我键入systemctl status hub时,我得到以下信息:
● hub.service - Hub docker container
   Loaded: loaded (/etc/systemd/system/hub.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

最佳答案

为了在重启后启动容器,您需要添加以下属性:--restart=always至您的容器启动脚本。例如:docker run -d -p 80:5000 --restart=always image_name

关于docker - 通过启用systemd脚本重启后,Docker容器无法启动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49999068/

10-11 20:19