#!/bin/bash set -euo pipefail PROJECT_ROOT=$(cd -- "$(dirname "${BASH_SOURCE[0]}")/.." &> /dev/null && pwd) DOCKERFILE_PATH=./scripts/Dockerfile IMAGE_NAME=blog IMAGE_FILE_NAME=$IMAGE_NAME.tar.gz REMOTE_SERVER=01 REMOTE_PATH=/srv/docker/nginx/www DOCKER_NETWORK=docker_app-bridge cd "$PROJECT_ROOT" docker build -f $DOCKERFILE_PATH --platform linux/amd64 -t $IMAGE_NAME . docker save $IMAGE_NAME | gzip > $IMAGE_FILE_NAME scp $IMAGE_FILE_NAME $REMOTE_SERVER:$REMOTE_PATH ssh $REMOTE_SERVER bash << EOF set -euo pipefail cd $REMOTE_PATH docker load -i $IMAGE_FILE_NAME docker rm -f $IMAGE_NAME || true docker run -d --name $IMAGE_NAME --network $DOCKER_NETWORK $IMAGE_NAME rm -f $IMAGE_FILE_NAME EOF rm -f $IMAGE_FILE_NAME