【发布时间】:2019-08-18 13:59:26
【问题描述】:
我已经通过在 Docker 文件中添加 HEALTHCHECK 命令来实现 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,并且主机网络与发布端口不兼容。
标签: docker dockerfile docker-engine