mal*_*ert 7 docker docker-compose clickhouse
我需要等待 Clickhouse 启动才能启动后端服务器,但是运行状况检查不起作用。
这是我的docker-compose.yml文件:
version: '3.9'
services:
server:
build: .
depends_on:
clickhouse:
condition: service_healthy
clickhouse:
image: yandex/clickhouse-server
ports:
- '8123:8123'
- '9000:9000'
- '9009:9009'
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:8123']
interval: 5s
timeout: 3s
retries: 5
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时docker-compose up --build,您可以看到 Clickhouse 服务器启动,一切都很好,但是运行状况检查从未通过。该命令抢先退出并出现错误:container for service "Clickhouse" is unhealthy。curl -f http://localhost:8123但是,如果在此期间我在自己的计算机上(在 docker 容器之外)运行该命令,那么它会返回Ok.
那么有没有办法等待Clickhouse健康后再开始另一个服务呢?
试试这个方法:
..
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/?query=SELECT%201 || exit 1
..
Run Code Online (Sandbox Code Playgroud)
或者
..
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
..
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2626 次 |
| 最近记录: |