-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild-docker.sh
More file actions
executable file
·33 lines (24 loc) · 1.14 KB
/
build-docker.sh
File metadata and controls
executable file
·33 lines (24 loc) · 1.14 KB
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
#!/usr/bin/env bash
set -euo pipefail
# Locate repo root (one level up from this script)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
IMAGE_NAME="${IMAGE_NAME:-deepsurf}"
IMAGE_TAG="${IMAGE_TAG:-latest}"
PLATFORM="${PLATFORM:-linux/amd64}"
# UPDATED default: point to your new Dockerfile path (edit if needed)
DOCKERFILE="${DOCKERFILE:-${REPO_ROOT}/code/Dockerfile}"
CONTEXT="${CONTEXT:-${REPO_ROOT}}"
NO_CACHE="${NO_CACHE:-0}"
PULL="${PULL:-0}"
command -v docker >/dev/null || { echo "[ERROR] docker not found" >&2; exit 1; }
[[ -f "${DOCKERFILE}" ]] || { echo "[ERROR] Dockerfile not found: ${DOCKERFILE}" >&2; exit 1; }
ARGS=( --platform "${PLATFORM}" -f "${DOCKERFILE}" -t "${IMAGE_NAME}:${IMAGE_TAG}" )
[[ "${NO_CACHE}" == "1" ]] && ARGS+=( --no-cache )
[[ "${PULL}" == "1" ]] && ARGS+=( --pull )
echo "[build] Context: ${CONTEXT}"
echo "[build] Dockerfile: ${DOCKERFILE}"
echo "[build] Image: ${IMAGE_NAME}:${IMAGE_TAG}"
echo "[build] Platform: ${PLATFORM}"
DOCKER_BUILDKIT="${DOCKER_BUILDKIT:-1}" docker build "${ARGS[@]}" "${CONTEXT}"
echo "[build] Done: ${IMAGE_NAME}:${IMAGE_TAG}"