mirror of
https://github.com/offen/docker-volume-backup.git
synced 2025-09-05 22:14:27 +08:00
Docker healthchecks can be used for awaiting ready state
This commit is contained in:
parent
27b5b47ca2
commit
295387acd1
11 changed files with 32 additions and 38 deletions
0
test/collision/.swarm
Normal file
0
test/collision/.swarm
Normal file
|
@ -8,8 +8,6 @@ current_test=$(basename $(pwd))
|
|||
|
||||
export LOCAL_DIR=$(mktemp -d)
|
||||
|
||||
docker swarm init
|
||||
|
||||
docker stack deploy --compose-file=docker-compose.yml test_stack
|
||||
|
||||
while [ -z $(docker ps -q -f name=backup) ]; do
|
||||
|
|
|
@ -4,6 +4,11 @@ services:
|
|||
image: offen/docker-volume-backup:test-sandbox
|
||||
environment:
|
||||
DOCKER_TLS_CERTDIR: ''
|
||||
healthcheck:
|
||||
test: ["CMD", "docker", "info"]
|
||||
interval: 1s
|
||||
timeout: 5s
|
||||
retries: 50
|
||||
volumes:
|
||||
- $SOURCE:/code
|
||||
- $TARBALL:/cache/image.tar.gz
|
||||
|
@ -15,6 +20,11 @@ services:
|
|||
worker1:
|
||||
privileged: true
|
||||
image: offen/docker-volume-backup:test-sandbox
|
||||
healthcheck:
|
||||
test: ["CMD", "docker", "info"]
|
||||
interval: 1s
|
||||
timeout: 5s
|
||||
retries: 50
|
||||
environment:
|
||||
DOCKER_TLS_CERTDIR: ''
|
||||
volumes:
|
||||
|
@ -28,6 +38,11 @@ services:
|
|||
worker2:
|
||||
privileged: true
|
||||
image: offen/docker-volume-backup:test-sandbox
|
||||
healthcheck:
|
||||
test: ["CMD", "docker", "info"]
|
||||
interval: 1s
|
||||
timeout: 5s
|
||||
retries: 50
|
||||
environment:
|
||||
DOCKER_TLS_CERTDIR: ''
|
||||
volumes:
|
|
@ -2,13 +2,16 @@ services:
|
|||
manager:
|
||||
privileged: true
|
||||
image: offen/docker-volume-backup:test-sandbox
|
||||
environment:
|
||||
DOCKER_TLS_CERTDIR: ''
|
||||
healthcheck:
|
||||
test: ["CMD", "docker", "info"]
|
||||
interval: 1s
|
||||
timeout: 5s
|
||||
retries: 50
|
||||
volumes:
|
||||
- $SOURCE:/code
|
||||
- $TARBALL:/cache/image.tar.gz
|
||||
- docker_volume_backup_test_sandbox_image:/var/lib/docker/image
|
||||
- docker_volume_backup_test_sandbox_overlay2:/var/lib/docker/overlay2
|
||||
- $SOURCE:/code
|
||||
- $TARBALL:/cache/image.tar.gz
|
||||
- docker_volume_backup_test_sandbox_image:/var/lib/docker/image
|
||||
- docker_volume_backup_test_sandbox_overlay2:/var/lib/docker/overlay2
|
||||
|
||||
volumes:
|
||||
docker_volume_backup_test_sandbox_image:
|
||||
|
|
|
@ -5,9 +5,6 @@ services:
|
|||
minio:
|
||||
image: minio/minio:RELEASE.2020-08-04T23-10-51Z
|
||||
deploy:
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
environment:
|
||||
|
@ -24,9 +21,6 @@ services:
|
|||
depends_on:
|
||||
- minio
|
||||
deploy:
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
environment:
|
||||
|
@ -53,9 +47,6 @@ services:
|
|||
healthcheck:
|
||||
disable: true
|
||||
deploy:
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager
|
||||
replicas: 2
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
|
@ -69,9 +60,6 @@ services:
|
|||
volumes:
|
||||
- pg_data:/var/lib/postgresql/data
|
||||
deploy:
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ cd $(dirname $0)
|
|||
. ../util.sh
|
||||
current_test=$(basename $(pwd))
|
||||
|
||||
# docker swarm init
|
||||
|
||||
printf "test" | docker secret create minio_root_user -
|
||||
printf "GMusLtUmILge2by+z890kQ" | docker secret create minio_root_password -
|
||||
|
||||
|
|
0
test/services/.swarm
Normal file
0
test/services/.swarm
Normal file
|
@ -6,8 +6,6 @@ cd $(dirname $0)
|
|||
. ../util.sh
|
||||
current_test=$(basename $(pwd))
|
||||
|
||||
docker swarm init
|
||||
|
||||
docker stack deploy --compose-file=docker-compose.yml test_stack
|
||||
|
||||
while [ -z $(docker ps -q -f name=backup) ]; do
|
||||
|
|
0
test/swarm/.swarm
Normal file
0
test/swarm/.swarm
Normal file
|
@ -6,8 +6,6 @@ cd $(dirname $0)
|
|||
. ../util.sh
|
||||
current_test=$(basename $(pwd))
|
||||
|
||||
docker swarm init
|
||||
|
||||
docker stack deploy --compose-file=docker-compose.yml test_stack
|
||||
|
||||
while [ -z $(docker ps -q -f name=backup) ]; do
|
||||
|
|
20
test/test.sh
20
test/test.sh
|
@ -40,24 +40,20 @@ for dir in $(find $find_args | sort); do
|
|||
export TARBALL=$tarball
|
||||
export SOURCE=$(dirname $(pwd))
|
||||
|
||||
if [ -f ${dir}/.swarm ]; then
|
||||
compose_file="swarm.yml"
|
||||
if [ -f ${dir}/.multinodeswarm ]; then
|
||||
compose_file="docker-compose.multinode.yml"
|
||||
fi
|
||||
|
||||
docker compose -f $compose_file up -d
|
||||
docker compose -f $compose_file up -d --wait
|
||||
|
||||
until $(docker compose exec manager /bin/sh -c 'docker info' > /dev/null 2>&1)
|
||||
do
|
||||
echo "Docker daemon not ready yet, retrying in 2s"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
if [ -f ${dir}/.swarm ]; then
|
||||
if [ -f "${dir}/.swarm" ]; then
|
||||
docker compose exec manager docker swarm init
|
||||
elif [ -f "${dir}/.multinodeswarm" ]; then
|
||||
docker compose exec manager docker swarm init
|
||||
manager_ip=$(docker compose exec manager docker node inspect $(docker compose exec manager docker node ls -q) --format '{{ .Status.Addr }}')
|
||||
token=$(docker compose exec manager docker swarm join-token -q worker)
|
||||
docker compose exec worker1 docker swarm join --token $token manager:2377
|
||||
docker compose exec worker2 docker swarm join --token $token manager:2377
|
||||
docker compose exec worker1 docker swarm join --token $token $manager_ip:2377
|
||||
docker compose exec worker2 docker swarm join --token $token $manager_ip:2377
|
||||
fi
|
||||
|
||||
docker compose exec manager /bin/sh -c "docker load -i /cache/image.tar.gz"
|
||||
|
|
Loading…
Add table
Reference in a new issue