我已通过在 Dockerfile 中添加 HEALTHCHECK 命令来实现 Docker 原生健康检查,如下所示:
设置容器的入口点。
执行如下所示的docker run命令:
以下是 Docker 和操作系统的详细信息:
如何在容器出现故障时自动重启它?
HEALTHCHECK --interval=60s --timeout=15s --retries=3 CMD ["/svc/app/healthcheck/healthCheck.sh"]
设置容器的入口点。
CMD [".././run.sh"]
执行如下所示的docker run命令:
docker run -d --net=host --pid=host --publish-all=true -p 7000:7000/udp applicationname:temp
当我的应用程序没有启动并且我可以看到容器状态不健康时, healthCheck.sh 以1退出,但它没有重新启动。
STATUS
Up 45 minutes (unhealthy)
以下是 Docker 和操作系统的详细信息:
[root@localhost log]# docker -v
Docker version 18.09.7, build 2d0083d
操作系统版本
NAME="CentOS Linux"
VERSION="7 (Core)"
如何在容器出现故障时自动重启它?
docker run
命令似乎无效。net
选项需要是--net
而不是-net
,而主机网络与发布端口不兼容。 - BMitch