Docker: Utilizing Docker contexts in Makefiles
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) platform, designed for fast and reliable container deployments:
- Deploy to production with a single
docker-compose upcommand. No additional configuration required: just launch your containers.- Choose your own domain name, automatically secured with HTTPS (for example: https://api.your-company.com, https://www.your-company.com, or https://backoffice.your-company.com).
- Take advantage of high performance and enhanced security on private, dedicated infrastructure.
- Apply updates with a single click for simple, effortless maintenance.
Your containers can be running in production in about five minutes. Stackhero manages the infrastructure, updates, and security for you, so you can focus on developing your applications. Learn more about Docker CaaS cloud hosting.
You can also set the DOCKER_CONTEXT variable in a Makefile. Here is an example of exporting the variable and executing a Docker container:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
After creating the Makefile, invoke the command using:
make getIp
If you encounter the error
Makefile: *** missing separator. Stop., ensure thedocker run [...]line starts with a TAB character, not spaces.
Leveraging .env files in Makefiles
You can further simplify configuration by including a .env file in your Makefile. This approach ensures centralized management of your environment settings:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Create a .env file with this content:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Then execute the command:
make getIp
If you encounter the error
Makefile: *** missing separator. Stop., verify that thedocker run [...]line begins with a TAB character rather than spaces.