Merge pull request #5273 from dokku/complex-docker-args

Correct issue where more complex docker args were not properly parsed when scheduling containers
This commit is contained in:
Jose Diaz-Gonzalez
2022-07-30 12:58:46 -04:00
committed by GitHub
2 changed files with 28 additions and 3 deletions

View File

@@ -241,11 +241,11 @@ fn-scheduler-docker-local-start-app-container() {
declare APP="$1"
shift
local DOCKER_ARGS
declare -a DOCKER_ARGS
for i in "$@"; do
DOCKER_ARGS="$DOCKER_ARGS \"$i\""
DOCKER_ARGS+=("$i")
done
eval set -- $DOCKER_ARGS
set -- "${DOCKER_ARGS[@]}"
eval "$(config_export app "$APP" --merged)"
# shellcheck disable=SC2124

View File

@@ -30,3 +30,28 @@ teardown() {
echo "status: $status"
assert_success
}
@test "(scheduler-docker-local) complex labels" {
run create_app
echo "output: $output"
echo "status: $status"
assert_success
# the run command is equivalent to the following line, except with backslashes due to the enclosing doublequotes
# dokku docker-options:add test deploy '--label "some.key=Host(\`$TEST_APP.dokku.me\`)"'
run /bin/bash -c "dokku docker-options:add $TEST_APP deploy '--label \"some.key=Host(\\\`$TEST_APP.dokku.me\\\`)\"'"
echo "output: $output"
echo "status: $status"
assert_success
run deploy_app
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "docker inspect --format '{{ index .Config.Labels \"some.key\"}}' $TEST_APP.web.1"
echo "output: $output"
echo "status: $status"
assert_output "Host(\`$TEST_APP.dokku.me\`)"
assert_success
}