Docker: Managing Docker contexts in bash scripts
This documentation is part of the Advanced context usages guide. View the full guide here: How to use Docker contexts in your scripts.
Welcome to the Stackhero documentation
Stackhero provides a ready-to-use Docker cloud CaaS (Containers as a Service) platform, designed for fast and reliable container deployments:
- Deploy to production with a single
docker-compose up. There is no extra setup: just start your containers.- Pick your own domain name, secured automatically with HTTPS (for example: https://api.your-company.com, https://www.your-company.com, or https://backoffice.your-company.com).
- Benefit from strong performance and robust security on private, dedicated infrastructure.
- Apply updates with one click for simple, low-effort maintenance.
You can have your containers live in production in about five minutes. Stackhero manages the infrastructure, updates, and security for you, so you can focus on delivering your applications. Read more about Docker CaaS cloud hosting.
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.
Externalizing 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 organized 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