mirror of
https://github.com/docker/docker-bench-security.git
synced 2024-11-01 00:21:45 +01:00
Merge pull request #522 from andreagalle/issue_521_restart_policy
Issue 521 restart policy
This commit is contained in:
commit
d9f1d02102
1 changed files with 16 additions and 2 deletions
|
@ -595,9 +595,23 @@ check_5_14() {
|
|||
fail=0
|
||||
maxretry_unset_containers=""
|
||||
for c in $containers; do
|
||||
policy=$(docker inspect --format MaximumRetryCount='{{ .HostConfig.RestartPolicy.MaximumRetryCount }}' "$c")
|
||||
container_name=$(docker inspect "$c" --format '{{.Name}}')
|
||||
if [ "$(docker info --format '{{.Swarm.LocalNodeState}}')" = "active" ]; then
|
||||
for s in $(docker service ls --format '{{.Name}}'); do
|
||||
if echo $container_name | grep -q "$s"; then
|
||||
task_id=$(docker inspect "$c" --format '{{.Name}}' | awk -F '.' '{print $NF}')
|
||||
# a container name could arbitrary include a service one: it belongs to a service (created by Docker
|
||||
# as part of the service), if the container task ID matches one of the task IDs of the service.
|
||||
if docker service ps --no-trunc "$s" --format '{{.ID}}' | grep -q "$task_id"; then
|
||||
spolicy=$(docker inspect --format MaxAttempts='{{ .Spec.TaskTemplate.RestartPolicy.MaxAttempts }}' "$s")
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
cpolicy=$(docker inspect --format MaximumRetryCount='{{ .HostConfig.RestartPolicy.MaximumRetryCount }}' "$c")
|
||||
|
||||
if [ "$policy" != "MaximumRetryCount=5" ]; then
|
||||
if [ "$cpolicy" != "MaximumRetryCount=5" ] && [ "$spolicy" != "MaxAttempts=5" ]; then
|
||||
# If it's the first container, fail the test
|
||||
if [ $fail -eq 0 ]; then
|
||||
warn -s "$check"
|
||||
|
|
Loading…
Reference in a new issue