51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Specify the image name and tag
|
|
IMAGE_NAME="myp-rp"
|
|
IMAGE_TAG="latest"
|
|
|
|
# Create a new builder instance with a sensible name
|
|
BUILDER_NAME="myp-rp-arm64-builder"
|
|
echo "Creating a new builder instance named $BUILDER_NAME..."
|
|
docker buildx create --name $BUILDER_NAME --use
|
|
|
|
# Build the Docker image from Dockerfile for arm64
|
|
echo "Building Docker image from Dockerfile for arm64..."
|
|
docker buildx build --platform linux/arm64 -t ${IMAGE_NAME}:${IMAGE_TAG} -f $PWD/Dockerfile $PWD --output type=docker,dest=docker/${IMAGE_NAME}_${IMAGE_TAG}.tar
|
|
|
|
# Check if the build was successful
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error occurred while building the Docker image"
|
|
docker buildx rm $BUILDER_NAME
|
|
exit 1
|
|
fi
|
|
|
|
echo "Docker image built successfully"
|
|
|
|
# Compress the tar file using xz
|
|
COMPRESSED_FILE="docker/${IMAGE_NAME}_${IMAGE_TAG}.tar.xz"
|
|
echo "Compressing the image to $COMPRESSED_FILE..."
|
|
|
|
# Check if the compressed file exists and remove it
|
|
if [ -f "$COMPRESSED_FILE" ]; then
|
|
echo "Removing existing compressed file $COMPRESSED_FILE..."
|
|
rm "$COMPRESSED_FILE"
|
|
fi
|
|
|
|
# Proceed with compression
|
|
xz -z docker/${IMAGE_NAME}_${IMAGE_TAG}.tar
|
|
|
|
# Check if the compression was successful
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error occurred while compressing the Docker image"
|
|
docker buildx rm $BUILDER_NAME
|
|
exit 1
|
|
fi
|
|
|
|
echo "Docker image compressed successfully as docker/${IMAGE_NAME}_${IMAGE_TAG}.tar.xz"
|
|
|
|
# Remove the builder instance
|
|
docker buildx rm $BUILDER_NAME
|
|
|
|
echo "Build process completed"
|