go.etcd.io/etcd@v3.3.27+incompatible/scripts/build-docker (about) 1 #!/usr/bin/env bash 2 3 set -e 4 5 if [ "$#" -ne 1 ]; then 6 echo "Usage: $0 VERSION" >&2 7 exit 1 8 fi 9 10 VERSION=${1} 11 ARCH=$(go env GOARCH) 12 DOCKERFILE="Dockerfile-release" 13 14 if [ -z "${BINARYDIR}" ]; then 15 RELEASE="etcd-${1}"-$(go env GOOS)-$(go env GOARCH) 16 BINARYDIR="${RELEASE}" 17 TARFILE="${RELEASE}.tar.gz" 18 TARURL="https://github.com/coreos/etcd/releases/download/${1}/${TARFILE}" 19 if ! curl -f -L -o "${TARFILE}" "${TARURL}" ; then 20 echo "Failed to download ${TARURL}." 21 exit 1 22 fi 23 tar -zvxf "${TARFILE}" 24 fi 25 26 if [ "${ARCH}" != "amd64" ]; then 27 DOCKERFILE+=".${ARCH}" 28 VERSION+="-${ARCH}" 29 fi 30 31 BINARYDIR=${BINARYDIR:-.} 32 BUILDDIR=${BUILDDIR:-.} 33 34 IMAGEDIR=${BUILDDIR}/image-docker 35 36 mkdir -p "${IMAGEDIR}"/var/etcd 37 mkdir -p "${IMAGEDIR}"/var/lib/etcd 38 cp "${BINARYDIR}"/etcd "${BINARYDIR}"/etcdctl "${IMAGEDIR}" 39 40 cat ./"${DOCKERFILE}" > "${IMAGEDIR}"/Dockerfile 41 42 if [ -z "$TAG" ]; then 43 docker build -t "gcr.io/etcd-development/etcd:${VERSION}" "${IMAGEDIR}" 44 docker build -t "quay.io/coreos/etcd:${VERSION}" "${IMAGEDIR}" 45 else 46 docker build -t "${TAG}:${VERSION}" "${IMAGEDIR}" 47 fi