Poskušam izdelati rešitev za varnostno kopiranje in obnovitev za vsebnike Docker, s katerimi delamo.
Imam osnovno sliko Docker, ki sem jo ustvaril, ubuntu:base
, in ne želim, da bi jo bilo treba vsakič znova obnoviti z datoteko Docker, da bi vanjo dodal datoteke.
Želim ustvariti skripto, ki se zažene iz gostiteljskega računalnika in ustvari nov vsebnik z uporabo slike Docker ubuntu:base
ter nato kopira datoteke v ta vsebnik.
Kako lahko kopiram datoteke iz gostitelja v vsebnik?
Rešitev je podana spodaj,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
Datoteko preprosto kopiram neposredno iz gostiteljskega računalnika, kjer se nahaja vsebnik.
Na primer:
Najprej ugotovite ID vsebnika:
root@**3aed62678d54**:/home#
In nato iz gostitelja, recimo, da je datoteka v domačem imeniku:
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
Nazaj v vsebnik...
root@**3aed62678d54**:/home# ls cheering_nasa.gif