Docker: Geavanceerd gebruik van contexten
Hoe Docker-contexten in uw scripts te gebruiken
Welkom bij de Stackhero-documentatie
Stackhero biedt een gebruiksklaar Docker cloud CaaS (Containers as a Service) platform, ontworpen voor snelle en betrouwbare containerdeployments:
- Zet uw containers direct in productie met slechts één
docker-compose up. Er is geen extra configuratie nodig: start gewoon uw containers.- Kies uw eigen domeinnaam, automatisch beveiligd met HTTPS (bijvoorbeeld: https://api.uw-bedrijf.com, https://www.uw-bedrijf.com of https://backoffice.uw-bedrijf.com).
- Profiteer van hoge prestaties en sterke beveiliging op een privé, dedicated infrastructuur.
- Voer updates uit met één klik voor eenvoudige, moeiteloze onderhoud.
Uw containers kunnen binnen ongeveer vijf minuten live in productie zijn. Stackhero beheert de infrastructuur, updates en beveiliging voor u, zodat u zich kunt richten op het leveren van uw applicaties. Lees meer over Docker CaaS cloud hosting.
Werken met Docker context use-commando's is ideaal voor het handmatig uitvoeren van commando's. Maar bij het gebruik van scripts zijn er betere alternatieve methoden die het proces kunnen vereenvoudigen. In plaats van het commando direct aan te roepen, kunt u de gewenste context instellen met de DOCKER_CONTEXT-omgevingsvariabele. Deze aanpak integreert naadloos in scriptworkflows en behoudt de duidelijkheid van de configuratie.
Vervang in de gegeven voorbeelden
<XXXXXX>.stackhero-network.comdoor uw specifieke Docker-instantiedomein (<XXXXXX>.stackhero-network.com).
Beheren van Docker-contexten in bash-scripts
Hier is een voorbeeld van hoe u de Docker-context binnen een bash-script instelt:
#!/bin/bash
set -e
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
echo "IP van Docker voor Stackhero-instantie:"
docker run --rm alpine wget -q -O - ifconfig.me
Door de DOCKER_CONTEXT-omgevingsvariabele in te stellen, kunt u de actieve context gemakkelijk direct in uw scripts beheren.
Externe configuratie met een .env-bestand
Om te voorkomen dat de DOCKER_CONTEXT hard gecodeerd wordt, kunt u de waarde laden vanuit een .env-bestand. Deze methode houdt de omgevingsinstellingen georganiseerd en vergemakkelijkt aanpassingen:
#!/bin/bash
set -e
source .env
echo "IP van Docker voor Stackhero-instantie:"
docker run --rm alpine wget -q -O - ifconfig.me
Maak een .env-bestand met de volgende inhoud:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Gebruik van Docker-contexten in Makefiles
U kunt ook de DOCKER_CONTEXT-variabele in een Makefile instellen. Hier is een voorbeeld van het exporteren van de variabele en het uitvoeren van een Docker-container:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Na het maken van de Makefile, roept u het commando aan met:
make getIp
Als u de fout
Makefile: *** missing separator. Stop.tegenkomt, zorg ervoor dat de regeldocker run [...]begint met een TAB-teken, niet met spaties.
Gebruik van .env-bestanden in Makefiles
U kunt de configuratie verder vereenvoudigen door een .env-bestand in uw Makefile op te nemen. Deze aanpak zorgt voor gecentraliseerd beheer van uw omgevingsinstellingen:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Maak een .env-bestand met deze inhoud:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Voer vervolgens het commando uit:
make getIp
Als u de fout
Makefile: *** missing separator. Stop.tegenkomt, controleer dan of de regeldocker run [...]begint met een TAB-teken in plaats van spaties.