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/

Leave a Comment

Como desativar o snap do Firefox no Ubuntu 22.04 LTS

Como desativar o snap do Firefox no Ubuntu 22.04 LTS

Aprenda a desinstalar o Firefox Snap no Ubuntu 22.04 LTS e substituí-lo pela versão DEB. Siga este guia passo a passo para uma experiência melhor.

Como compactar arquivos no Linux mais rápido com Pigz

Como compactar arquivos no Linux mais rápido com Pigz

Pigz é uma das melhores ferramentas para compactar arquivos. Neste guia, você aprenderá a instalar e utilizar essa ferramenta poderosa em seu sistema Linux.

Como instalar e configurar o Samba no Debian 11 Bullseye

Como instalar e configurar o Samba no Debian 11 Bullseye

Se você estiver no Debian 11 Bullseye e precisar configurar um servidor Samba, este guia o ajudará. Aprenda como configurar o Samba para Debian 11!

Transforme qualquer dispositivo em seu segundo monitor no Linux

Transforme qualquer dispositivo em seu segundo monitor no Linux

Precisa de um monitor extra, mas só tem um? Com Deskreen, você pode transformar qualquer smartphone, tablet ou laptop em uma segunda tela no Linux.

Como verificar a temperatura da GPU no Linux

Como verificar a temperatura da GPU no Linux

Aprenda como verificar a temperatura da GPU no Linux usando diversas ferramentas.

Como usar o controlador PS4 no Linux

Como usar o controlador PS4 no Linux

Aprenda como usar o controlador PS4 no Linux com suporte completo e métodos de configuração simples.

Como atualizar para Pop_OS 22.04

Como atualizar para Pop_OS 22.04

O Pop_OS 22.04 foi lançado e com ele vem toneladas de novos recursos. Veja como você pode atualizar sua instalação do Pop_OS para 22.04.

Como fazer backup diretamente no Google Drive no Linux

Como fazer backup diretamente no Google Drive no Linux

Descubra como fazer backup dos seus dados do Linux diretamente no Google Drive utilizando o Duplicati. Siga nosso guia passo a passo para proteger suas informações.

Como aumentar o tamanho da pasta temporária no Linux

Como aumentar o tamanho da pasta temporária no Linux

Aprenda como aumentar o tamanho da pasta temporária no Linux. Siga este guia passo a passo para resolver problemas de espaço no seu diretório temporário.

Como instalar e personalizar o emulador de terminal Kitty no Linux

Como instalar e personalizar o emulador de terminal Kitty no Linux

Kitty é um emulador de terminal com GPU versátil e ágil para Linux. Aprenda a instalar e personalizá-lo para melhorar sua experiência no terminal.