Snažím se vytvořit řešení pro zálohování a obnovu kontejnerů Docker, se kterými pracujeme.
Mám vytvořený základní obraz Dockeru ubuntu:base
a nechci ho pokaždé obnovovat pomocí souboru Dockeru, abych do něj přidal soubory.
Chci vytvořit skript, který se spustí z hostitelského počítače a vytvoří nový kontejner pomocí obrazu ubuntu:base
Docker a poté do něj zkopíruje soubory.
Jak mohu zkopírovat soubory z hostitelského počítače do kontejneru?
Řešení je uvedeno níže,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
Soubor se zkopíruje přímo do umístění, kde se kontejner nachází v souborovém systému.
Soubor jednoduše zkopíruji přímo z místa, kde je kontejner umístěn, z hostitelského počítače.
Například:
Nejprve zjistím ID kontejneru:
root@**3aed62678d54**:/home#
A pak z hostitele, řekněme, že soubor je v domovském adresáři:
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
Zpět do kontejneru...
root@**3aed62678d54**:/home# ls cheering_nasa.gif