如何在 docker-compose 中通知 `restart: on-failure` 的错误?

how to notify error for `restart: on-failure` in docker-compose?

我准备了这样的docker-compose.yml

  server:
    build: server
    restart: on-failure

并且,我想从 shell 脚本 容器内 发送错误以重新启动容器。 我该怎么做?

容器不是 VM,它们是进程(以一种思维方式)。因此,容器内的 OS 重启没有意义,因此是不可能的。一个杀死、停止或重新启动容器,例如

docker stop CONTAINER
docker kill CONTAINER
docker restart CONTAINER

根据您问题的上下文,并根据容器的具体情况,重启相关容器可能最有意义。

所以我认为最适合你的场景的解决方案是在你的容器中挂载 /var/run/docker.sock 并使用 Docker API 自行重启你的容器。

您可以在 here 中查看可能对您有帮助的库和 SDK 列表。请务必在您的容器中安装您的特定 SDK 以便使用它。

希望对您有所帮助。