Gestiunea Mediilor Multiple și a Serverelor la Distanță cu docker context în Docker

Întreținere și curățenie Docker CLI 19.03+

Ghid complet de lucru cu docker context: comutarea instantanee a comenzilor Docker CLI între mașina locală și servere de producție sau staging via SSH fără a reconfigura DOCKER_HOST.

Sintaxă comandă
docker context ls | docker context create <nume> --docker host=ssh://user@ip | docker context use <nume>

În mod tradițional, pentru a rula comenzi Docker pe un server de producție de la distanță, dezvoltatorii trebuiau să se conecteze prin ssh user@server sau să exporte manual variabila volatilă de mediu DOCKER_HOST. Mecanismul docker context permite salvarea și comutarea instantanee a țintelor de execuție direct din terminalul local, folosind tuneluri sigure SSH nativ.

Crearea și utilizarea unui context remote prin SSH
# 1. Vizualizarea contextelor existente:
docker context ls
# NAME        TYPE   DESCRIPTION                               DOCKER ENDPOINT
# default *   moby   Current alternative is default context    unix:///var/run/docker.sock

# 2. Crearea unui context nou către un server cloud de producție:
docker context create server-productie --description "Server Producție Cloud" --docker "host=ssh://root@51.178.131.141"

# 3. Comutarea activă pe serverul de la distanță:
docker context use server-productie

# De acum, orice comandă standard rulează direct pe serverul remote:
docker ps
docker compose up -d

# 4. Revenirea rapidă pe mediul Docker de pe laptopul local:
docker context use default

Executarea punctuală a unei comenzi pe un alt context

Dacă nu doriți să schimbați contextul global curent, puteți trimite o singură comandă prin indicatorul --context:

# Inspectează containerele de pe serverul de staging fără a părăsi contextul local:
docker --context server-staging ps -a