Como transferir arquivos para um contêiner do Docker

Às vezes, pode ser necessário transferir arquivos de um contêiner do Docker para o sistema host para fins de backup, etc. Isso pode ser feito facilmente no Linux com a ferramenta docker cp . Veja como usá-lo.

xr:d:DAFds8YL9ik:2,j:43601822907,t:23032003

Como transferir arquivos de um contêiner do Docker para o host usando o Docker CP

Se você precisar transferir arquivos de seu contêiner Docker para o sistema host, a maneira mais rápida e fácil de fazer isso é com a ferramenta Docker CP. Para começar, faça login em seu servidor por SSH ou por meio de um monitor físico com uma interface de terminal .

Depois de fazer login, acesse a conta Root. Você pode fazer isso de duas maneiras. Com o comando su ou o comando sudo -s .

su

Ou

sudo -s

Depois de fazer login, execute o comando docker ps . A execução deste comando mostrará todos os contêineres em execução. Pesquise o ID do contêiner do qual você planeja transferir arquivos. Em seguida, use o seguinte comando para fazer login no contêiner.

Observação: substitua $id pelo ID do contêiner.

docker exec -it $id /bin/bash

Agora que você se conectou ao seu contêiner Docker usando o comando docker exec acima, você precisará navegar no contêiner e compactar os arquivos que deseja transferir usando o Docker CP.

Neste exemplo, usaremos a pasta “test” no /root/diretório. Você precisará modificar este comando para atender às suas necessidades.

tar -czvf meu-arquivo.tar.gz /root/test/

Depois de compactar os arquivos, saia do contêiner. Você pode sair da interface do terminal em seu contêiner do Docker usando o seguinte comando de saída .

saída

Por fim, transfira seus arquivos do contêiner para o sistema host.

docker cp CONTAINER_ID:/path/to/archive.tar.gz /host/system/folder/

Transferir arquivos sem compactação

Embora não seja recomendado transferir arquivos sem comprimi-los primeiro (por motivos de segurança), você pode. Se você quiser simplesmente transferir um diretório contendo alguns arquivos, veja como fazê-lo.

Primeiro, determine o caminho da pasta fazendo login no contêiner. Você pode fazer login no contêiner com os comandos abaixo.

su

docker exec -it $id /bin/bash

Depois de determinar o caminho para a pasta que você deseja transferir, saia do contêiner. Em seguida, execute o seguinte comando docker cp .

docker cp CONTAINER_ID:/caminho/para/sua/pasta//host/sistema/pasta/

Como transferir arquivos do host para um contêiner do Docker usando o Docker CP

Além de transferir arquivos por meio do contêiner Docker para o host, é possível transferir arquivos do host de volta para o contêiner. Para isso, encontre a localização dos arquivos que deseja transferir para o contêiner docker.

Quando você localizar os arquivos que deseja transferir, use o seguinte comando para compactá-los. A compactação da pasta facilita a transferência.

tar -czvf meu-arquivo.tar.gz /caminho/para/sua/pasta/

Depois de compactar sua pasta em um arquivo Tar.GZ, você precisará obter o ID do contêiner para o qual deseja transferir os arquivos. Primeiro, faça login no root usando su ou sudo -s .

su

Ou

sudo -s

Depois de fazer login na conta root, execute o comando docker ps . Este comando mostrará informações sobre todos os contêineres em execução. Você pode pegar essas informações e usar o comando docker cp para transferir seu arquivo compactado.

docker ps

docker cp /caminho/para/meu-arquivo.tar.gz CONTAINER_ID:/caminho/para/destino/

Transferir arquivos sem compactação

Se você deseja transferir para um contêiner sem compactar nada, veja como fazê-lo. Primeiro, faça login no root usando su ou sudo -s . Depois de fazer login como root, encontre o caminho da pasta que deseja transferir.

Depois de obter o caminho da pasta, use o comando docker ps para obter o ID do contêiner para o qual deseja transferir os arquivos. Em seguida, use o seguinte comando docker cp para copiar os arquivos para o seu sistema.

docker cp /caminho/para/meu/arquivo/pasta/ CONTAINER_ID:/caminho/para/destino/

Como transferir arquivos de um contêiner Docker do host com Rsync

O uso do comando docker cp deve ser suficiente para transferir arquivos de e para hosts. No entanto, também é possível sincronizar arquivos Rsync de um contêiner para o host. Lembre-se de que você deve ter um servidor SSH ativado e em execução na máquina host.

Para começar, faça login como root em seu servidor host Linux por meio do terminal. Você pode fazer login na conta root usando su ou sudo -s . Depois de fazer login na conta root, execute o comando docker ps .

su

Ou

sudo -s

docker ps

Localize o ID do contêiner do Docker e faça login usando o comando abaixo. Em seguida, instale a ferramenta Rsync usando o gerenciador de pacotes do contêiner. Certifique-se de substituir “$id” pelo ID do contêiner.

docker exec -it $id /bin/bash

Depois de instalar o Rsync usando o gerenciador de pacotes do contêiner, use o comando Rsync abaixo para sincronizar os arquivos do contêiner para o host.

rsync -avz -e ssh /caminho/para/local/arquivos/ user@remote:/caminho/para/remote/arquivos/


Melhore a área de transferência do Gnome Shell com o Pano

Melhore a área de transferência do Gnome Shell com o Pano

Vamos enfrentá-lo, a área de transferência padrão do Gnome Shell não é muito boa. Instale o Pano para melhorar sua experiência na área de transferência!

Como instalar o DaVinci Resolve 17 no Linux

Como instalar o DaVinci Resolve 17 no Linux

Você precisa de um ótimo editor de vídeo não linear para sua caixa Linux? Obtenha o Davinci Resolve 17 trabalhando com este guia!

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

O Wallpaper Downloader é um gerenciador e baixador de papéis de parede para Linux. Ele suporta a maioria dos ambientes de desktop Linux e é muito fácil de usar. Este guia

Como instalar o Tuxedo OS no seu computador

Como instalar o Tuxedo OS no seu computador

Quer testar o Tuxedo OS por computadores Tuxedo? Saiba como obter a versão mais recente do Tuxedo OS funcionando em seu PC.

Como instalar um arquivo DEB no Linux

Como instalar um arquivo DEB no Linux

O que é um arquivo DEB? O que você faz com isso? Aprenda as várias maneiras de instalar arquivos DEB em seu PC com Linux.

Como jogar Dying Light no Linux

Como jogar Dying Light no Linux

Dying Light é um videogame de survival horror de 2015 desenvolvido pela Techland e publicado pela Warner Bros Interactive Entertainment. O jogo é centrado em

Como instalar o Neptune Linux no seu computador

Como instalar o Neptune Linux no seu computador

O Neptune usa o ambiente de desktop KDE Plasma 5 e visa oferecer um sistema operacional elegante. Veja como instalar o Neptune Linux no seu computador.

Experimente o novo desktop baseado em snap do Ubuntu

Experimente o novo desktop baseado em snap do Ubuntu

Quer experimentar o novo sistema operacional de desktop baseado em pacote instantâneo do Ubuntu? Aprenda como implantá-lo em uma máquina virtual com este guia.

Como jogar Undertale no Linux

Como jogar Undertale no Linux

Undertale é um RPG indie 2D de 2015 desenvolvido e publicado pelo desenvolvedor de jogos Toby Fox. Este guia cobrirá o download e a instalação do Undertale em seu

Como jogar Total War: THREE KINGDOMS no Linux

Como jogar Total War: THREE KINGDOMS no Linux

Total War: Three Kingdoms é um jogo RTS de estratégia baseado em turnos desenvolvido pela Creative Assembly. Veja como jogar no Linux.