Docker: Automatiseren met de CLI

Start Docker, haal de inloggegevens op en wijzig de configuratie programmatisch met de Stackhero CLI

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.

In deze gids ziet u hoe u een Docker-service aanmaakt, de inloggegevens uitleest en de configuratie bijwerkt, volledig vanaf de command line, zonder handmatige acties in het dashboard. Dit is ideaal voor scripts, CI-pijplijnen en AI-agents.

Voor alle taken gebruiken we de Stackhero CLI. Als u deze nog niet heeft geïnstalleerd, doet u dat als volgt:

curl -fsSL https://www.stackhero.io/install.sh | sh

De eenvoudigste manier om te starten is door in te loggen via uw browser. Wanneer u het login-commando uitvoert, opent de CLI een webpagina waar u toegang kunt goedkeuren. Er worden geen wachtwoorden of 2FA-codes ingevoerd in de CLI zelf.

stackhero login

Na het inloggen worden uw inloggegevens lokaal opgeslagen en automatisch gebruikt bij volgende CLI-commando's.

Voor volledig geautomatiseerde omgevingen zoals scripts of CI-pijplijnen kunt u beter een niet-interactieve access token gebruiken. U maakt deze aan via uw dashboard (Account > Access tokens) en exporteert deze vervolgens als omgevingsvariabele. De CLI en elk script dat u uitvoert, nemen deze automatisch over.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

Vervolgens wilt u de beschikbare Docker service stores in uw account opvragen. De CLI accepteert direct de naam van de store (docker), dus u hoeft geen ID's op te zoeken of te kopiëren.

# Lijst Docker service stores (voeg --organization toe als u er meer dan één beheert)
stackhero services-store-list --name="docker"

U kunt de store-naam docker in volgende commando's gebruiken, of een specifiek svs-xxxxxx ID uit de lijst kiezen als u dat wilt.

# Lijst instance sizes voor uw service store (gebruik de kolom NAME voor --instance)
stackhero instances-store-list --service-store=docker

# Lijst beschikbare regio's (namen zoals "europe")
stackhero regions-list

Hieronder vindt u een voorbeeldscript dat een stack aanmaakt, uw Docker-service toevoegt, wacht tot deze is gestart, de configuratie (inclusief gegenereerde inloggegevens) ophaalt en vervolgens een nieuwe configuratie toepast.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="docker"   # De naam van de Docker service store (zie stap 2)
instance="..."                # Een instance size uit stap 3
region="europe"               # Een regiocode uit stap 3

# Maak een stack aan voor uw service (gebruikt uw standaardorganisatie; voeg --organization toe indien nodig)
stackId=$(stackhero --format=script stack-create \
  --name="My Docker stack")
echo "Stack aangemaakt: ${stackId}"

# Voeg Docker toe aan de stack (namen worden automatisch herkend)
serviceId=$(stackhero --format=script service-add \
  --stack="My Docker stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service toegevoegd: docker"

# Wacht tot de service volledig draait (dit kan enkele minuten duren)
stackhero service-wait-for --service="docker"

# Haal de serviceconfiguratie op, inclusief gegenereerde inloggegevens
stackhero service-configuration-get --service="docker" --format=json

Het commando service-configuration-get geeft de volledige configuratie van uw service terug, inclusief automatisch gegenereerde wachtwoorden en verbindingsgegevens. De uitvoer is in JSON-formaat, wat het eenvoudig maakt om te gebruiken in scripts en automatisering.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

U kunt een voorbeeld van het configuratieschema bekijken en vervolgens uw eigen instellingen toepassen. Wanneer u de configuratie bijwerkt, kan de service opnieuw opstarten om de wijzigingen toe te passen.

# Bekijk het configuratieschema en een voorbeeld voor uw service
stackhero service-configuration-example --service=svc-xxxxxx

# Pas een aangepaste configuratie toe (de service wordt indien nodig herstart)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Wacht tot de nieuwe configuratie is toegepast
stackhero service-wait-for --service=svc-xxxxxx

Dat is alles. U heeft nu het volledige proces gezien: een service starten, inloggegevens ophalen en opnieuw configureren, allemaal op een scriptbare en geautomatiseerde manier. Wilt u meer weten? Bekijk dan de volledige CLI-documentatie, waarin ook de niet-interactieve STACKHERO_TOKEN authenticatie wordt behandeld zoals hierboven getoond.