Fix Docker Healthcheck (#29471)
* Correct test for docker container being healthy * Correct docker healthcheck for busybox wget * Repeatedly check the health state of the docker container * Use until loop & rely on timeout-minutes * Fix check to look at healthy state --------- Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
co-authored by
Michael Telatynski
parent
cc95d154fb
commit
2052080d7d
@@ -61,6 +61,7 @@ jobs:
|
|||||||
- name: Test the image
|
- name: Test the image
|
||||||
env:
|
env:
|
||||||
IMAGEID: ${{ steps.test-build.outputs.imageid }}
|
IMAGEID: ${{ steps.test-build.outputs.imageid }}
|
||||||
|
timeout-minutes: 2
|
||||||
run: |
|
run: |
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
@@ -86,7 +87,9 @@ jobs:
|
|||||||
test "$MODULE_0" = "/${MODULE_PATH}"
|
test "$MODULE_0" = "/${MODULE_PATH}"
|
||||||
|
|
||||||
# Check healthcheck
|
# Check healthcheck
|
||||||
test "$(docker inspect -f {{.State.Running}} $CONTAINER_ID)" == "true"
|
until test "$(docker inspect -f {{.State.Health.Status}} $CONTAINER_ID)" == "healthy"; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
docker stop "$CONTAINER_ID"
|
docker stop "$CONTAINER_ID"
|
||||||
|
|||||||
+1
-1
@@ -47,4 +47,4 @@ USER nginx
|
|||||||
# HTTP listen port
|
# HTTP listen port
|
||||||
ENV ELEMENT_WEB_PORT=80
|
ENV ELEMENT_WEB_PORT=80
|
||||||
|
|
||||||
HEALTHCHECK --start-period=5s CMD wget --retry-connrefused --tries=5 -q --wait=3 --spider http://localhost:$ELEMENT_WEB_PORT/config.json
|
HEALTHCHECK --start-period=5s CMD wget -q --spider http://localhost:$ELEMENT_WEB_PORT/config.json
|
||||||
|
|||||||
Reference in New Issue
Block a user