- Getting containers ready for the cloud
This commit is contained in:
57
docker/docker_env_switch.sh
Executable file
57
docker/docker_env_switch.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Function to display usage information
|
||||
usage() {
|
||||
echo "Usage: source $0 [dev|prod]"
|
||||
echo " dev : Switch to development environment"
|
||||
echo " prod : Switch to production environment"
|
||||
}
|
||||
|
||||
# Check if the script is sourced
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
echo "Error: This script must be sourced, not executed directly."
|
||||
echo "Please run: source $0 [dev|prod]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if an argument is provided
|
||||
if [ $# -eq 0 ]; then
|
||||
usage
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Set variables based on the environment
|
||||
case $1 in
|
||||
dev)
|
||||
DOCKER_CONTEXT="default"
|
||||
COMPOSE_FILE="compose_dev.yaml"
|
||||
;;
|
||||
prod)
|
||||
DOCKER_CONTEXT="mxz536.stackhero-network.com"
|
||||
COMPOSE_FILE="compose_stackhero.yaml"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid environment. Use 'dev' or 'prod'."
|
||||
usage
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Switch Docker context
|
||||
echo "Switching to Docker context: $DOCKER_CONTEXT"
|
||||
docker context use $DOCKER_CONTEXT
|
||||
|
||||
# Set the COMPOSE_FILE environment variable
|
||||
export COMPOSE_FILE=$COMPOSE_FILE
|
||||
echo "Set COMPOSE_FILE to $COMPOSE_FILE"
|
||||
|
||||
# Define aliases for common Docker commands
|
||||
alias docker-compose="docker compose -f $COMPOSE_FILE"
|
||||
alias dc="docker compose -f $COMPOSE_FILE"
|
||||
alias dcup="docker compose -f $COMPOSE_FILE up -d"
|
||||
alias dcdown="docker compose -f $COMPOSE_FILE down"
|
||||
alias dcps="docker compose -f $COMPOSE_FILE ps"
|
||||
alias dclogs="docker compose -f $COMPOSE_FILE logs"
|
||||
|
||||
echo "Docker environment switched to $1"
|
||||
echo "You can now use 'docker-compose', 'dc', 'dcup', 'dcdown', 'dcps', and 'dclogs' commands"
|
||||
Reference in New Issue
Block a user