56 lines
1.4 KiB
Bash
56 lines
1.4 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# =============================================================================
|
||
|
|
# Build y Push de imagen SQL Server Low RAM a Docker Hub
|
||
|
|
# =============================================================================
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
IMAGE_NAME="andresgarcia0313/mssql-express-lowram"
|
||
|
|
VERSION="1.0"
|
||
|
|
|
||
|
|
cd "$(dirname "$0")"
|
||
|
|
|
||
|
|
echo "=== Building image: $IMAGE_NAME:$VERSION ==="
|
||
|
|
docker build -t "$IMAGE_NAME:$VERSION" -t "$IMAGE_NAME:latest" .
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Testing image locally ==="
|
||
|
|
docker rm -f mssql-test 2>/dev/null || true
|
||
|
|
|
||
|
|
docker run -d \
|
||
|
|
--name mssql-test \
|
||
|
|
--memory="384m" \
|
||
|
|
-e "MSSQL_SA_PASSWORD=TestPass123!" \
|
||
|
|
-p 1434:1433 \
|
||
|
|
"$IMAGE_NAME:latest"
|
||
|
|
|
||
|
|
echo "Esperando 30 segundos para que SQL Server inicie..."
|
||
|
|
sleep 30
|
||
|
|
|
||
|
|
if docker exec mssql-test /opt/mssql-tools/bin/sqlcmd \
|
||
|
|
-S localhost -U sa -P 'TestPass123!' \
|
||
|
|
-Q "SELECT 'TEST OK' AS Status" 2>/dev/null | grep -q "TEST OK"; then
|
||
|
|
echo "✓ Test passed!"
|
||
|
|
docker rm -f mssql-test
|
||
|
|
else
|
||
|
|
echo "✗ Test failed!"
|
||
|
|
docker logs mssql-test
|
||
|
|
docker rm -f mssql-test
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Push to Docker Hub ==="
|
||
|
|
echo "Ejecuta: docker login"
|
||
|
|
echo "Luego: docker push $IMAGE_NAME:$VERSION"
|
||
|
|
echo " docker push $IMAGE_NAME:latest"
|
||
|
|
echo ""
|
||
|
|
echo "O ejecuta este script con 'push' como argumento:"
|
||
|
|
echo " $0 push"
|
||
|
|
|
||
|
|
if [ "$1" == "push" ]; then
|
||
|
|
docker push "$IMAGE_NAME:$VERSION"
|
||
|
|
docker push "$IMAGE_NAME:latest"
|
||
|
|
echo "✓ Push completado!"
|
||
|
|
fi
|