File: .detect-daemon-osarch

package info (click to toggle)
docker.io 20.10.24%2Bdfsg1-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-proposed-updates
  • size: 60,824 kB
  • sloc: sh: 5,621; makefile: 593; ansic: 179; python: 162; asm: 7
file content (43 lines) | stat: -rw-r--r-- 1,318 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
set -e

docker-version-osarch() {
	if ! type docker &> /dev/null; then
		# docker is not installed
		return
	fi
	local target="$1" # "Client" or "Server"
	local fmtStr="{{.${target}.Os}}/{{.${target}.Arch}}"
	if docker version -f "$fmtStr" 2> /dev/null; then
		# if "docker version -f" works, let's just use that!
		return
	fi
	docker version | awk '
		$1 ~ /^(Client|Server):$/ { section = 0 }
		$1 == "'"$target"':" { section = 1; next }
		section && $1 == "OS/Arch:" { print $2 }

		# old versions of Docker
		$1 == "OS/Arch" && $2 == "('"${target,,}"'):" { print $3 }
	'
}

# Retrieve OS/ARCH of docker daemon, e.g. linux/amd64
export DOCKER_ENGINE_OSARCH="${DOCKER_ENGINE_OSARCH:=$(docker-version-osarch 'Server')}"
export DOCKER_ENGINE_GOOS="${DOCKER_ENGINE_OSARCH%/*}"
export DOCKER_ENGINE_GOARCH="${DOCKER_ENGINE_OSARCH##*/}"
DOCKER_ENGINE_GOARCH=${DOCKER_ENGINE_GOARCH:=amd64}

# and the client, just in case
export DOCKER_CLIENT_OSARCH="$(docker-version-osarch 'Client')"
export DOCKER_CLIENT_GOOS="${DOCKER_CLIENT_OSARCH%/*}"
export DOCKER_CLIENT_GOARCH="${DOCKER_CLIENT_OSARCH##*/}"
DOCKER_CLIENT_GOARCH=${DOCKER_CLIENT_GOARCH:=amd64}

DOCKERFILE='Dockerfile'

if [ "${DOCKER_ENGINE_GOOS:-$DOCKER_CLIENT_GOOS}" = "windows" ]; then
	DOCKERFILE='Dockerfile.windows'
fi

export DOCKERFILE