Estou a tentar construir uma solução de backup e restauração para os contentores Docker com os quais trabalhamos.
Eu tenho a imagem base do Docker que criei, ubuntu:base
, e não quero ter que reconstruí-la a cada vez com um arquivo Docker para adicionar arquivos a ela.
Eu quero criar um script que roda a partir da máquina host e cria um novo container utilizando a imagem ubuntu:base
Docker e depois copia os arquivos para esse container.
Como posso copiar ficheiros do anfitrião para o contentor?
A solução é dada abaixo,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
O arquivo deve ser copiado diretamente para o local onde o recipiente se encontra no sistema de arquivos.
Eu simplesmente copio o arquivo diretamente de onde o recipiente está localizado a partir da máquina hospedeira.
Por exemplo:
Primeiro descobre a identificação do contentor:
root@**3aed62678d54**:/home#
E então a partir do host, let's say the file is in the home directory:
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
De volta para o contentor...
root@**3aed62678d54**:/home# ls cheering_nasa.gif