Ci-dessous, les différences entre deux révisions de la page.
| sysadmin:docker:extraire_fichier_dans_image [2022/12/21 11:21] – créée yoann | sysadmin:docker:extraire_fichier_dans_image [2022/12/21 15:14] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| - | ====== Docker : extraire | + | ====== Docker : lister ou extraire |
| - | On souhaite pouvoir extraire | + | On souhaite pouvoir |
| - | Une fois le conteneur | + | <code bash> |
| + | # Création d' | ||
| + | docker container create --name image_extractor my_image: | ||
| + | </ | ||
| + | |||
| + | ===== Obtenir la liste complète des fichiers de l' | ||
| + | |||
| + | Pour obtenir la liste complète des fichiers de l’archive, | ||
| <code bash> | <code bash> | ||
| - | # Création du conteneur temporaire | + | docker |
| - | docker | + | </ |
| + | ===== Extraire un fichier ===== | ||
| + | |||
| + | Utiliser la commande **docker container cp** pour extraire/ | ||
| + | |||
| + | <code bash> | ||
| # Extraction du fichier aFile dans le répertoire courant | # Extraction du fichier aFile dans le répertoire courant | ||
| docker container cp image_extractor:/ | docker container cp image_extractor:/ | ||
| + | </ | ||
| + | |||
| + | ===== Extraire le système de fichiers complet ===== | ||
| + | |||
| + | Pour extraire le système de fichier complet visible par le conteneur on peut utiliser **docker container export** et **tar**. On crée ainsi une archive contenant l' | ||
| + | |||
| + | <code bash> | ||
| + | # Création d'une archive tar à contenant l' | ||
| + | docker container export image_extractor > image_files.tar | ||
| + | </ | ||
| + | |||
| + | ===== La commande docker image save ===== | ||
| + | |||
| + | Une autre façon d' | ||
| + | |||
| + | <code bash> | ||
| + | docker image save my_image: | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | |||
| + | Ci-dessous pour exemple une archive produite avec une image busybox | ||
| + | < | ||
| + | docker image save busybox: | ||
| + | tar tf docker_busybox_latest.tar | ||
| + | 22667f53682a2920948d19c7133ab1c9c3f745805c14125859d20cede07f11f9.json | ||
| + | a13131da00574c4f311d65e64e5bf7bfbffdeb8a029d2c605522506871b80354/ | ||
| + | a13131da00574c4f311d65e64e5bf7bfbffdeb8a029d2c605522506871b80354/ | ||
| + | a13131da00574c4f311d65e64e5bf7bfbffdeb8a029d2c605522506871b80354/ | ||
| + | a13131da00574c4f311d65e64e5bf7bfbffdeb8a029d2c605522506871b80354/ | ||
| + | manifest.json | ||
| + | repositories | ||
| + | </ | ||
| + | |||
| + | Ce format peut s' | ||
| + | |||
| + | |||
| + | Cette commande peut être utilisée conjointement avec **docker image load** pour transférer des images d'un serveur Docker à l' | ||
| + | |||
| + | <code bash> | ||
| + | # Sauvegarde une image dans une archive | ||
| + | docker image save my_image: | ||
| - | # Suppression du conteneur temporaire | + | # Charger une image à partir d'une archive |
| - | docker | + | docker |
| </ | </ | ||
| - | < | ||
| - | Cela suppose que l'on connaît le chemin d' | ||
| - | </ | ||
| ===== Extraire un fichier de configuration ===== | ===== Extraire un fichier de configuration ===== | ||
| Ligne 31: | Ligne 82: | ||
| * https:// | * https:// | ||
| + | * https:// | ||