【问题标题】:How to run the docker commands before exiting docker-machine with systemd?如何在使用 systemd 退出 docker-machine 之前运行 docker 命令?
【发布时间】:2023-03-16 19:53:01
【问题描述】:

我使用这个 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-machine 中正确运行脚本 |关机?

【问题讨论】:

    标签: linux docker systemd docker-machine


    【解决方案1】:

    这很困难,因为您无法保证完全关闭。机器有时会冻结和崩溃。最好在启动时清理。

    您可以创建另一个 systemd-service 来清理并从启动容器的服务中放置对它的依赖。

    或者,最好在你的容器上简单地设置一个“总是重启”策略,当系统重启时,docker 会自动为你重启它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 2017-10-18
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      相关资源
      最近更新 更多