Arhivarea și Încărcarea Imaginilor Offline cu docker save și docker load în Docker

Imagini Standard Docker

Ghid de lucru offline pentru docker save și docker load: exportul complet al imaginilor Docker cu toate straturile (layers), tag-urile și metadatele într-o arhivă tar pentru medii air-gapped fără internet.

Sintaxă comandă
docker save -o img.tar imagine:tag | docker load -i img.tar

În mediile enterprise securizate, guvernamentale sau bancare (rețele izolate de tip Air-Gapped), serverele de producție nu au acces direct la internet sau la Docker Hub pentru a executa docker pull. Comenzile docker save și docker load permit împachetarea uneia sau mai multor imagini Docker complete (cu toate straturile, etichetele, hash-urile SHA-256 și configurațiile originale) într-un fișier arhivat transferabil pe un stick USB sau printr-un bastion SSH.

Exportul și restaurarea unei imagini cu straturi complete
# PE MAȘINA CONECTATĂ LA INTERNET:
# 1. Descărcăm imaginea dorită:
docker pull postgres:16-alpine

# 2. Salvăm imaginea completă într-un fișier tar:
docker save -o postgres-16-alpine.tar postgres:16-alpine

# Puteți salva chiar mai multe imagini într-o singură arhivă comună:
docker save -o stack-complet.tar frontend:v1 backend:v1 redis:alpine

# 3. Transferăm arhiva pe serverul izolat prin SCP/SFTP:
scp postgres-16-alpine.tar root@server-izolat:/tmp/

# PE SERVERUL IZOLAT (OFFLINE):
# 4. Încărcăm imaginea în Docker Engine-ul local:
docker load -i /tmp/postgres-16-alpine.tar
# Ieșire:
# Loaded image: postgres:16-alpine

# 5. Imaginea este gata de utilizare instant:
docker run -d --name db-prod postgres:16-alpine
Optimizare: Pentru arhive mari, combinați comanda cu compresie gzip pentru a reduce timpul de transfer prin rețea: docker save my-app:latest | gzip > my-app.tar.gz și restaurați cu: docker load < my-app.tar.gz.