如何在使用 systemd 退出 docker-machine 之前 运行 docker 命令?
How to run the docker commands before exiting docker-machine with systemd?
我 运行 我的容器在系统启动时使用此 systemd 配置:
[Unit]
After=docker.service
Requires=docker.service
[Service]
User=sterzhakov
Group=sterzhakov
ExecStart=/home/sterzhakov/conatiners-start.sh
ExecStop=/home/sterzhakov/containers-stop.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
一切顺利开始
但是在重新启动时我需要 运行 另一个脚本来清理我的 docker-machine
中的卷和容器
但这并没有发生,这里是这个脚本的日志:
2021-02-07 02:35:09 | start VTB stop
Error checking TLS connection: Host is not running
Removing network docker_default
Network docker_default not found.
Removing network docker_default
Network docker_default not found
如何正确运行重启docker机器里面的脚本|关机?
这很难,因为您不能保证完全关闭。机器有时会死机和崩溃。你最好在启动时清理。
您可以创建另一个 systemd-service 来清理并从启动容器的服务中放置对它的依赖。
或者,简单地在您的容器上放置一个 'restart always' 策略可能会更好,并且 docker 将在系统重新启动时自动为您重新启动它们。
我 运行 我的容器在系统启动时使用此 systemd 配置:
[Unit]
After=docker.service
Requires=docker.service
[Service]
User=sterzhakov
Group=sterzhakov
ExecStart=/home/sterzhakov/conatiners-start.sh
ExecStop=/home/sterzhakov/containers-stop.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
一切顺利开始
但是在重新启动时我需要 运行 另一个脚本来清理我的 docker-machine
中的卷和容器但这并没有发生,这里是这个脚本的日志:
2021-02-07 02:35:09 | start VTB stop
Error checking TLS connection: Host is not running
Removing network docker_default
Network docker_default not found.
Removing network docker_default
Network docker_default not found
如何正确运行重启docker机器里面的脚本|关机?
这很难,因为您不能保证完全关闭。机器有时会死机和崩溃。你最好在启动时清理。
您可以创建另一个 systemd-service 来清理并从启动容器的服务中放置对它的依赖。
或者,简单地在您的容器上放置一个 'restart always' 策略可能会更好,并且 docker 将在系统重新启动时自动为您重新启动它们。