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

标签 docker docker-container

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

  server:
    build: server
    restart: on-failure

而且,我想从容器内的shell脚本发送错误以重新启动容器。
我怎样才能做到这一点?

最佳答案

容器不是虚拟机,而是进程(用一种思维方式)。因此,在容器内重新启动OS没有意义,因此是不可能的。一个会杀死,停止或重新启动容器,例如

docker stop CONTAINER
docker kill CONTAINER
docker restart CONTAINER

在您遇到问题的情况下,并且取决于容器的具体情况,重新启动有问题的容器可能是最有意义的。

因此,我认为针对您的方案的最佳解决方案是将/var/run/docker.sock挂载到容器中,并使用Docker API自行重新启动容器。

您可以在here中看到可以帮助您的库和SDK列表。请务必将特定的SDK安装在容器中才能使用。

希望能帮助到你。

关于docker - 如何在docker-compose中通知 `restart: on-failure`错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44574845/

相关文章:

docker - 如何管理 Docker Swarm 服务配置

linux - 使用 root 以外的用户启动 Docker 守护程序时出错(权限被拒绝)

杀死容器时,ubuntu 16.04上的docker错误

docker - 在 docker 容器中找不到“make”命令

node.js - 尽管使用与集线器所示相同的Dockerfile,但重建Docker镜像失败

ubuntu - 找不到包语言包-en

docker - 打印在Docker容器中运行的Shell脚本的输出

Docker端口转发不起作用

docker-compose - 如何访问 Azure App Service 应用程序日志以检查 Docker Compose 错误?

docker - 如何更改容器中的Prometheus.yml文件