Merge pull request #161 from dokku/alt-network-alias
feat: add network alias that is $SERVICE_NAME.$SERVICE_TYPE
This commit is contained in:
14
functions
14
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=()
|
||||
@@ -94,7 +96,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")
|
||||
@@ -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
|
||||
@@ -124,7 +126,7 @@ service_create_container() {
|
||||
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
|
||||
|
||||
@@ -135,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")"
|
||||
@@ -143,12 +145,12 @@ 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
|
||||
|
||||
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"
|
||||
|
||||
@@ -48,6 +48,13 @@ 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:dokku-$PLUGIN_COMMAND_PREFIX-ls"
|
||||
|
||||
run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
@@ -113,6 +120,13 @@ 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"
|
||||
|
||||
run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
@@ -178,6 +192,13 @@ 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:dokku-$PLUGIN_COMMAND_PREFIX-ls"
|
||||
|
||||
run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
@@ -237,6 +258,13 @@ teardown() {
|
||||
assert_output_contains bridge
|
||||
assert_output_contains custom-network
|
||||
|
||||
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
|
||||
assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa"
|
||||
assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-lsa"
|
||||
|
||||
run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
|
||||
Reference in New Issue
Block a user