From e9a3c165e28bae6694c9ece6dd21a25fbd9ea385 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:00:01 -0500 Subject: [PATCH 01/10] feat: add network alias that is $SERVICE_NAME.$SERVICE_TYPE This alias is in addition to the existing dokku.$SERVICE_TYPE.$SERVICE_NAME network alias that is derived from the hostname. --- functions | 5 +++-- tests/link_networks.bats | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 7480ca3..ec9ded8 100755 --- a/functions +++ b/functions @@ -121,10 +121,11 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" + local network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then DOCKER_ARGS+=("--network=${network}") - DOCKER_ARGS+=("--network-alias=$SERVICE_NAME") + DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") fi @@ -148,7 +149,7 @@ service_create_container() { fi dokku_log_verbose_quiet "Waiting for container to be ready" - if ! suppress_output "$DOCKER_BIN" container run "${LINK_CONTAINER_DOCKER_ARGS[@]}" "$PLUGIN_WAIT_IMAGE" -c "$SERVICE_NAME:$PLUGIN_DATASTORE_WAIT_PORT"; then + if ! suppress_output "$DOCKER_BIN" container run "${LINK_CONTAINER_DOCKER_ARGS[@]}" "$PLUGIN_WAIT_IMAGE" -c "$network_alias:$PLUGIN_DATASTORE_WAIT_PORT"; then dokku_log_info2_quiet "Start of $SERVICE container output" dokku_container_log_verbose_quiet "$SERVICE_NAME" dokku_log_info2_quiet "End of $SERVICE container output" diff --git a/tests/link_networks.bats b/tests/link_networks.bats index 6c1ffd8..da6937f 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -48,6 +48,14 @@ teardown() { assert_output_contains bridge 0 assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network echo "output: $output" echo "status: $status" @@ -178,6 +186,14 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network echo "output: $output" echo "status: $status" @@ -237,6 +253,14 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" echo "status: $status" From 795643381a895f465ef654ef69e8d6a4e4d134a1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:01:02 -0500 Subject: [PATCH 02/10] feat: use service name as hostname --- functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions b/functions index ec9ded8..a8b0fe5 100755 --- a/functions +++ b/functions @@ -94,7 +94,7 @@ service_create_container() { DOCKER_ARGS+=("--env=MYSQL_PASSWORD=$PASSWORD") DOCKER_ARGS+=("--env=MYSQL_ROOT_PASSWORD=$ROOTPASSWORD") DOCKER_ARGS+=("--env=MYSQL_USER=mysql") - DOCKER_ARGS+=("--hostname=$SERVICE") + DOCKER_ARGS+=("--hostname=$SERVICE_NAME") DOCKER_ARGS+=("--label=dokku.service=$PLUGIN_COMMAND_PREFIX") DOCKER_ARGS+=("--label=dokku=service") DOCKER_ARGS+=("--name=$SERVICE_NAME") From 7a5cbb16024505899e794fc7f41d4b20cb500c66 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:45:42 -0500 Subject: [PATCH 03/10] fix: set correct alias for wait container when not using an initial network --- functions | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/functions b/functions index a8b0fe5..f127bed 100755 --- a/functions +++ b/functions @@ -121,9 +121,10 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" + local network_alias="$SERVICE_NAME" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then + network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") From 99da896e8fc455aa81c76985d897b69cc74d0068 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:06:57 -0500 Subject: [PATCH 04/10] fix: always use the network alias --- functions | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions b/functions index f127bed..6540ba6 100755 --- a/functions +++ b/functions @@ -137,7 +137,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$SERVICE_NAME" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -145,7 +145,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$SERVICE_NAME" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi From 000f404426bf6af1d9c0c6c26c29e30a48109ec8 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:08:26 -0500 Subject: [PATCH 05/10] fix: use correct alias for non-initial-network connect calls --- functions | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 6540ba6..8a8b055 100755 --- a/functions +++ b/functions @@ -137,7 +137,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -145,7 +145,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi From 0d11076ad8b9f511bbc6c62b3437677ccd4a8e53 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:24:20 -0500 Subject: [PATCH 06/10] tests: correct the app name in use --- tests/link_networks.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/link_networks.bats b/tests/link_networks.bats index da6937f..ef193a4 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -253,7 +253,7 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network - run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.lsa -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' echo "output: $output" echo "status: $status" assert_success From 68dd7e31a2053d4a724b05b60bc828b57cf28288 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:41:09 -0500 Subject: [PATCH 07/10] tests: drop extra alias --- tests/link_networks.bats | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/link_networks.bats b/tests/link_networks.bats index ef193a4..30a3de6 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -257,9 +257,8 @@ teardown() { echo "output: $output" echo "status: $status" assert_success - assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" - assert_output_contains "alias:ls" + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa" + assert_output_contains "alias:lsa.$PLUGIN_COMMAND_PREFIX" run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" From cb08375b28e1d4ec8b340fe603dbc227e749b48f Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 17:08:08 -0500 Subject: [PATCH 08/10] refactor: use the same network alias as is used when running :link command This allows for some degree of parity as the network will now resolve the same for both linked and networked containers. --- functions | 6 +++--- tests/link_networks.bats | 14 +++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/functions b/functions index 8a8b055..0173dc6 100755 --- a/functions +++ b/functions @@ -124,7 +124,7 @@ service_create_container() { local network_alias="$SERVICE_NAME" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then - network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" + network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") @@ -137,7 +137,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -145,7 +145,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi diff --git a/tests/link_networks.bats b/tests/link_networks.bats index 30a3de6..f6ce837 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -53,7 +53,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network @@ -121,6 +121,14 @@ teardown() { assert_output_contains custom-network assert_output_contains bridge + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network echo "output: $output" echo "status: $status" @@ -191,7 +199,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network @@ -258,7 +266,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa" - assert_output_contains "alias:lsa.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-lsa" run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" From f08581d6c1678a88fcb04519b9135c32b574dddd Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 18:30:12 -0500 Subject: [PATCH 09/10] fix: drop extra check and always use the same network alias --- functions | 7 +++---- tests/link_networks.bats | 3 --- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/functions b/functions index 0173dc6..18c3e03 100755 --- a/functions +++ b/functions @@ -121,10 +121,9 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="$SERVICE_NAME" + local network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then - network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") @@ -137,7 +136,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -145,7 +144,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi diff --git a/tests/link_networks.bats b/tests/link_networks.bats index f6ce837..f75dfbe 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -54,7 +54,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network echo "output: $output" @@ -127,7 +126,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network echo "output: $output" @@ -200,7 +198,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network echo "output: $output" From dc8d7fcd903478ed9c4b39d0116032194932274c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 23:59:22 -0500 Subject: [PATCH 10/10] fix: use network alias when linking to wait container --- functions | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 18c3e03..fa2bc93 100755 --- a/functions +++ b/functions @@ -85,6 +85,8 @@ service_create_container() { export CONFIG_OPTIONS="$(cat "$SERVICE_ROOT/CONFIG_OPTIONS")" fi + local network_alias="$(service_dns_hostname "$SERVICE")" + rm -f "$SERVICE_ROOT/ID" declare -a DOCKER_ARGS DOCKER_ARGS=() @@ -106,7 +108,7 @@ service_create_container() { LINK_CONTAINER_DOCKER_ARGS=() LINK_CONTAINER_DOCKER_ARGS+=("--rm") LINK_CONTAINER_DOCKER_ARGS+=("--link") - LINK_CONTAINER_DOCKER_ARGS+=("$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX") + LINK_CONTAINER_DOCKER_ARGS+=("$SERVICE_NAME:$network_alias") [[ -f "$SERVICE_ROOT/SERVICE_MEMORY" ]] && SERVICE_MEMORY="$(cat "$SERVICE_ROOT/SERVICE_MEMORY")" if [[ -n "$SERVICE_MEMORY" ]]; then @@ -121,7 +123,6 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then DOCKER_ARGS+=("--network=${network}")