Docker: Managing Docker contexts in bash scripts
This documentation is part of the Advanced context usages guide. You can view the complete guide here: How to use Docker contexts in your scripts.
👋 Welcome to the Stackhero documentation!
Stackhero offers a ready-to-use Docker cloud CaaS (Containers as a Service) solution that provides a host of benefits, including:
- Easily deploy your containers to production with just a
docker-compose up.- Customisable domain name secured with HTTPS (for example, https://api.your-company.com, https://www.your-company.com, https://backoffice.your-company.com).
- Optimal performance and robust security powered by a private and dedicated VM.
- Effortless updates with just a click.
Save time and simplify your life: it only takes 5 minutes to try Stackhero's Docker CaaS cloud hosting solution and deploy your containers to production!
Here is an example of how to set the Docker context within a bash script:
#!/bin/bash
set -e
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
echo "IP from Docker for Stackhero instance:"
docker run --rm alpine wget -q -O - ifconfig.me
By setting the DOCKER_CONTEXT environment variable, you can conveniently manage the active context directly in your scripts.
Externalising configuration with a .env file
To avoid hardcoding the DOCKER_CONTEXT, you can load its value from a .env file. This method keeps environment settings organised and facilitates adjustments:
#!/bin/bash
set -e
source .env
echo "IP from Docker for Stackhero instance:"
docker run --rm alpine wget -q -O - ifconfig.me
Create a .env file with the following contents:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com