From fdda1b47f9c33751adf0bfc481e056401f522dc4 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 f5ca4a1..5ba7a19 100755 --- a/functions +++ b/functions @@ -116,10 +116,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 @@ -143,7 +144,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 0de0971810a4d605e0ba78c636705b956a805e3d 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 5ba7a19..972914a 100755 --- a/functions +++ b/functions @@ -90,7 +90,7 @@ service_create_container() { DOCKER_ARGS+=("--env=MONGO_INITDB_DATABASE=$DATABASE_NAME") DOCKER_ARGS+=("--env=MONGO_INITDB_ROOT_USERNAME=admin") DOCKER_ARGS+=("--env=MONGO_INITDB_ROOT_PASSWORD=$ROOTPASSWORD") - 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 960a499864cebedef976600480e3f3788888e59e 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 972914a..e406d39 100755 --- a/functions +++ b/functions @@ -116,9 +116,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 18d1256d5e588e36772d2b48e4073b54ad808b97 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 e406d39..ca5f7bb 100755 --- a/functions +++ b/functions @@ -132,7 +132,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")" @@ -140,7 +140,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 6814405ce96d4919fc2e0d146c4298a7964e97b5 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 ca5f7bb..45cd0bc 100755 --- a/functions +++ b/functions @@ -132,7 +132,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")" @@ -140,7 +140,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 49690af006e337b25f9c28074b56817d0cbda865 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 fb86f97d4b33cf31f10c5e660d7e0aff049d7d38 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 75ce3385fa13b75556f51b46e83ac9a31d21a3c5 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 45cd0bc..daf30f9 100755 --- a/functions +++ b/functions @@ -119,7 +119,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}") @@ -132,7 +132,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")" @@ -140,7 +140,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 8636a6dd391cdcadb025098ffada1a366954ec20 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 daf30f9..67bc22e 100755 --- a/functions +++ b/functions @@ -116,10 +116,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}") @@ -132,7 +131,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")" @@ -140,7 +139,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 acd623401d365e106a89c671f10fde1d90662ad0 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 67bc22e..5d868d8 100755 --- a/functions +++ b/functions @@ -82,6 +82,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=() @@ -101,7 +103,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 @@ -116,7 +118,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}")