docker.bash: work correctly with multi-ip containers (#5028)

Currently if container under test has multiple IP addresses,
the `docker_ip` function from `docker.sh` will return a gibberish.
This patch makes it return the first address found.
Additionally, I apply shellcheck on `docker.sh`.
This commit is contained in:
Ivan Andreev 2021-02-17 00:38:02 +00:00 committed by GitHub
parent f5066a09cd
commit 5834020316
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -2,13 +2,13 @@
stop() {
if status ; then
docker stop $NAME
docker stop "$NAME"
echo "$NAME stopped"
fi
}
status() {
if docker ps --format "{{.Names}}" | grep ^${NAME}$ >/dev/null ; then
if docker ps --format '{{.Names}}' | grep -q "^${NAME}$" ; then
echo "$NAME running"
else
echo "$NAME not running"
@ -18,5 +18,5 @@ status() {
}
docker_ip() {
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $NAME
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{"\n"}}{{end}}' "$NAME" | head -1
}

View File

@ -91,7 +91,7 @@ func start(name string) error {
continue
}
// fs.Debugf(name, "key = %q, envKey = %q, value = %q", key, envKey, value)
// fs.Debugf(name, "key = %q, envKey = %q, value = %q", key, envKey(name, string(key)), value)
err = os.Setenv(envKey(name, string(key)), string(value))
if err != nil {
return err