dotcloud/docker

View on GitHub
hack/dockerfile/install/dockercli.installer

Summary

Maintainability
Test Coverage
#!/bin/sh

: ${DOCKERCLI_CHANNEL:=stable}
: ${DOCKERCLI_VERSION:=17.06.2-ce}

install_dockercli() {
    echo "Install docker/cli version $DOCKERCLI_VERSION from $DOCKERCLI_CHANNEL"

    arch=$(uname -m)
    # No official release of these platforms
    if [ "$arch" != "x86_64" ] && [ "$arch" != "s390x" ] && [ "$arch" != "armhf" ]; then
        build_dockercli
        return
    fi

    url=https://download.docker.com/linux/static
    curl -Ls "${url}/${DOCKERCLI_CHANNEL}/${arch}/docker-${DOCKERCLI_VERSION}.tgz" | tar -xz docker/docker
    mkdir -p "${PREFIX}"
    mv docker/docker "${PREFIX}/"
    rmdir docker
}

build_dockercli() {
    git clone https://github.com/docker/docker-ce "$GOPATH/tmp/docker-ce"
    cd "$GOPATH/tmp/docker-ce"
    git checkout -q "v$DOCKERCLI_VERSION"
    mkdir -p "$GOPATH/src/github.com/docker"
    mv components/cli "$GOPATH/src/github.com/docker/cli"
    go build ${GO_BUILDMODE} -o "${PREFIX}/docker" "github.com/docker/cli/cmd/docker"
}