java - Wasabi自动重启docker容器

标签 java docker intuit-wasabi

我已经按照此处的说明安装了 Wasabi:https://github.com/intuit/wasabi

我的 Wasabi 在 Google Cloud、Ubuntu 16.04 上运行。

问题是一段时间后,Cassandra 崩溃并且没有自动重启。

当我转到 /api/v1/ping 时,我得到了这个:

{"componentHealths":[{"componentName":"Experiments Cassandra","healthy":false,"detailedMessage":"PoolTimeoutException: [host=172.18.0.2(172.18.0.2):9160, latency=20000(20000), attempts=1]Timed out waiting for connection"},{"componentName":"MySql","healthy":true}],"version":"wasabi-api-1.0.20161107232436-SNAPSHOT-development-${scmBranch}-${buildNumber}-201701111439"}

是否可以在容器崩溃时自动重启容器?

最佳答案

您可以使用 restart 标志。来自 man docker run:

--restart="no"
        Restart policy to apply when a container exits (no,
        on-failure[:max-retry], always, unless-stopped).

您可以尝试使用 --restart=always 创建一个容器,然后从主机中终止该容器(您可以使用类似 docker inspect --format '{{ .State.Pid}}' CONTAINER_NAME 来查找容器的 pid)。它应该在杀死后立即重新启动。

另请注意,如果您使用 docker 停止/终止容器(例如 docker kill),它将不会重新启动。

关于java - Wasabi自动重启docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872249/

相关文章:

docker - 如何防止在docker节点alpine镜像中附加shell?

amazon-web-services - 无法使用 travis ci 在 elasticbeanstalk 中部署 docker 应用程序

laravel - 如何使用 jwilder/whoami 在 Docker 中显示 laravel 主页

java - Java中使用HTTPS调用Web服务

java - Java 是否隐式定义了对类中使用的对象的引用?

java - 多 Activity 中用 EventBus 替换 LiveData

java - 比较器:比较 2 个对象与可以为空的字段