【发布时间】:2022-01-18 10:42:20
【问题描述】:
我有两个 Docker 容器:
1 表示 Keepalived 1 用于 Haproxy
问题是我的track_script killall -0 haproxy(检查haproxy是否还活着)无法到达haproxy的进程(因为它在另一个容器中..)
我该怎么办?
谢谢!
【问题讨论】:
标签: docker process haproxy keepalived
我有两个 Docker 容器:
1 表示 Keepalived 1 用于 Haproxy
问题是我的track_script killall -0 haproxy(检查haproxy是否还活着)无法到达haproxy的进程(因为它在另一个容器中..)
我该怎么办?
谢谢!
【问题讨论】:
标签: docker process haproxy keepalived
最后我挂载绑定 docker 套接字以在我的容器中运行 docker exec othercontainer killall -0 haproxy。
不是最好的方法,但是..它有效
【讨论】:
什么都没有。如果容器中的主进程退出,容器也会退出; Docker 会自动执行此操作,您不应该(而且大部分情况下不能)检查另一个容器中的单个进程。
您可以使用restart policy 让 Docker 自动重新启动容器及其包含的进程(如果它恰好退出):
docker run -d --restart on-failure ... haproxy
【讨论】: