From 18cd8255395c2a31e1886e8809f680d79cc43521 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 354447a..6e6f8d2 100755 --- a/functions +++ b/functions @@ -106,10 +106,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 @@ -133,7 +134,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 a88e34088d23b00d0216fba406963ebb43fb2ffc 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 6e6f8d2..24a41df 100755 --- a/functions +++ b/functions @@ -80,7 +80,7 @@ service_create_container() { DOCKER_ARGS+=("--cidfile=$SERVICE_ROOT/ID") DOCKER_ARGS+=("--env-file=$SERVICE_ROOT/ENV") DOCKER_ARGS+=("--env=POSTGRES_PASSWORD=$PASSWORD") - 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 44fe34fdfaf1904a61d120aed839bafc2c55f1bc 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 24a41df..2b04ce1 100755 --- a/functions +++ b/functions @@ -106,9 +106,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 00bc6ea144e0deda7db7bc84502b66dd4a81bf6b 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 2b04ce1..11470c9 100755 --- a/functions +++ b/functions @@ -122,7 +122,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")" @@ -130,7 +130,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 91ff698a68935436f173de95532f9e35ef1b3064 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 11470c9..39a5c05 100755 --- a/functions +++ b/functions @@ -122,7 +122,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")" @@ -130,7 +130,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 768c7ede8d5d3a70b6cb09b9dd946cfb2681ff90 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 f68b22116d5ec6e3f8a15658c00a04138ca64d5d 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 5479a2b0c94db3774a5687036a7094d637868232 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 39a5c05..b05827e 100755 --- a/functions +++ b/functions @@ -109,7 +109,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}") @@ -122,7 +122,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")" @@ -130,7 +130,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 09f022086a522026fdbd0a57fbee12b8d01211a6 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 b05827e..ac078c0 100755 --- a/functions +++ b/functions @@ -106,10 +106,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}") @@ -122,7 +121,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")" @@ -130,7 +129,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 a1090e23dca741da6bc863c42c867dccc1767ae5 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 ac078c0..b36dbbe 100755 --- a/functions +++ b/functions @@ -74,6 +74,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=() @@ -91,7 +93,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 @@ -106,7 +108,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}")