본문으로 바로가기
COMMUNITY모든 이야기

CI/CD 파이프라인 자동화를 위해 Docker Compose로 서비스를 올린 후, 특정 컨테이너가 'healthy' 상태가 될 때까지 대기하는 쉘 스크립트를 작성 중입니다.

코드:

#!/bin/bash
docker-compose up -d

until [ "$(docker inspect -f '{{.State.Health.Status}}' my_app_container)" == "healthy" ]; do
    echo "Waiting for healthy status..."
    sleep 2
done

echo "Container is healthy"

오류: *실제 `docker ps` 확인 시 상태는 `(healthy)`로 표시됨*

시도: `docker inspect`의 쿼리 문법을 `{{.State.Health.Status}}`에서 `{{.State.Status}}`로 변경해 보았으나 결과가 다름.

질문: `docker inspect` 결과값이 `healthy`임에도 불구하고 쉘 스크립트의 문자열 비교 연산에서 일치하지 않는 원인이 무엇입니까?

모든 이야기1517

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1517개의 이야기
댓글