42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# Set the service name as defined in docker-compose.yml
|
|
SERVICE_NAME="correct-service-name" # Replace with your actual service name
|
|
|
|
# Function to check if the container is running
|
|
is_container_running() {
|
|
[ "$(docker-compose ps -q ${SERVICE_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ]
|
|
}
|
|
|
|
# Function to execute commands in the container
|
|
execute_in_container() {
|
|
echo "Executing command in container: $1"
|
|
docker-compose exec -T "${SERVICE_NAME}" sh -c "$1"
|
|
}
|
|
|
|
# Start all services using docker-compose, if not already running
|
|
if ! is_container_running; then
|
|
echo "Starting all services defined in docker-compose.yml..."
|
|
docker-compose up -d
|
|
else
|
|
echo "Service ${SERVICE_NAME} is already running."
|
|
fi
|
|
|
|
# Wait for the specific container to be fully up and running
|
|
echo "Waiting for service ${SERVICE_NAME} to be fully up and running..."
|
|
while ! is_container_running; do
|
|
sleep 1
|
|
done
|
|
echo "Service ${SERVICE_NAME} is now up."
|
|
|
|
# Moving and copying libstdc++.so.6
|
|
execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/"
|
|
execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/"
|
|
|
|
# Moving and copying libgcc_s.so.1
|
|
execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/"
|
|
|
|
# Shutdown the specific service after the fixes
|
|
echo "Shutting down the service ${SERVICE_NAME}..."
|
|
docker-compose stop "${SERVICE_NAME}"
|