docker image su registry e create con pyinstaller
This commit is contained in:
@@ -17,18 +17,25 @@ IMAGE_NAME=${2:-"orchestrator-app"}
|
||||
TAG=${3:-"latest"}
|
||||
DOCKERFILE_TYPE=${4:-"standard"}
|
||||
|
||||
# Determina quale Dockerfile usare
|
||||
# Determina quale Dockerfile usare e quale tag
|
||||
if [[ "$DOCKERFILE_TYPE" == "distroless" ]]; then
|
||||
DOCKERFILE="Dockerfile.distroless"
|
||||
BUILD_TYPE="Distroless (Multi-stage)"
|
||||
# Se il tag è "latest", usa "distroless", altrimenti aggiungi suffisso "-distroless"
|
||||
if [[ "$TAG" == "latest" ]]; then
|
||||
ACTUAL_TAG="distroless"
|
||||
else
|
||||
ACTUAL_TAG="${TAG}-distroless"
|
||||
fi
|
||||
else
|
||||
DOCKERFILE="Dockerfile"
|
||||
BUILD_TYPE="Standard (python:3.12-slim)"
|
||||
ACTUAL_TAG="$TAG"
|
||||
fi
|
||||
|
||||
# Nome completo dell'immagine
|
||||
FULL_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${TAG}"
|
||||
LOCAL_IMAGE_NAME="${IMAGE_NAME}:${TAG}"
|
||||
FULL_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${ACTUAL_TAG}"
|
||||
LOCAL_IMAGE_NAME="${IMAGE_NAME}:${ACTUAL_TAG}"
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
@@ -71,11 +78,17 @@ show_usage() {
|
||||
echo " standard - Usa Dockerfile (python:3.12-slim, ~333MB)"
|
||||
echo " distroless - Usa Dockerfile.distroless (gcr.io/distroless, ~180MB, più sicuro)"
|
||||
echo ""
|
||||
echo "Tag automatici:"
|
||||
echo " standard + latest → orchestrator-app:latest"
|
||||
echo " distroless + latest → orchestrator-app:distroless"
|
||||
echo " standard + v1.0 → orchestrator-app:v1.0"
|
||||
echo " distroless + v1.0 → orchestrator-app:v1.0-distroless"
|
||||
echo ""
|
||||
echo "Esempi:"
|
||||
echo " $0 # Build standard locale"
|
||||
echo " $0 registry.example.com:5000 # Registry custom, standard"
|
||||
echo " $0 registry.example.com:5000 my-app latest distroless # Build distroless"
|
||||
echo " $0 192.168.1.204:5000 orchestrator-app v1.0.0 distroless # Produzione distroless"
|
||||
echo " $0 # → orchestrator-app:latest (standard)"
|
||||
echo " $0 192.168.1.204:5000 orchestrator-app latest distroless # → orchestrator-app:distroless"
|
||||
echo " $0 192.168.1.204:5000 orchestrator-app v1.0.0 standard # → orchestrator-app:v1.0.0"
|
||||
echo " $0 192.168.1.204:5000 orchestrator-app v1.0.0 distroless # → orchestrator-app:v1.0.0-distroless"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@@ -118,7 +131,8 @@ print_info " Dockerfile: ${CYAN}$DOCKERFILE${NC}"
|
||||
print_info " Build type: ${CYAN}$BUILD_TYPE${NC}"
|
||||
print_info " Registry: $REGISTRY_URL"
|
||||
print_info " Nome immagine: $IMAGE_NAME"
|
||||
print_info " Tag: $TAG"
|
||||
print_info " Tag richiesto: $TAG"
|
||||
print_info " Tag effettivo: ${CYAN}$ACTUAL_TAG${NC}"
|
||||
print_info " Nome completo: ${CYAN}$FULL_IMAGE_NAME${NC}"
|
||||
print_info ""
|
||||
|
||||
@@ -135,7 +149,7 @@ fi
|
||||
print_header "STEP 1: Build dell'immagine Docker"
|
||||
|
||||
print_info "Inizio build dell'immagine..."
|
||||
print_info "Comando: docker build -f $DOCKERFILE -t $LOCAL_IMAGE_NAME $PROJECT_DIR"
|
||||
print_info "Comando: docker build --no-cache -f $DOCKERFILE -t $LOCAL_IMAGE_NAME $PROJECT_DIR"
|
||||
echo ""
|
||||
|
||||
# Build dell'immagine con Dockerfile specificato
|
||||
|
||||
Reference in New Issue
Block a user