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/

Deixar um comentário

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrija o problema de tearing (rasgo na tela) causado por placas gráficas Intel no Pardus Linux verificando as configurações de X11 vs. Wayland, as configurações do compositor, a taxa de atualização, o driver Xorg ativo e o TearFree somente quando apropriado.

Como configurar o firewall do SLES 15 com o firewall-cmd

Como configurar o firewall do SLES 15 com o firewall-cmd

Configure o firewalld no SLES 15: verifique as zonas, permita serviços ou portas, salve regras permanentes, recarregue com segurança e verifique o acesso.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Habilite a aplicação de patches em tempo real no kernel do SLES 15 SP7, aplique correções compatíveis sem reiniciar, verifique os patches ativos e entenda quando ainda é necessário reiniciar o kernel.

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Ative o modo FIPS no SLES 15 com o utilitário de configuração compatível com a SUSE, reinicie com segurança, verifique o status do kernel e da política criptográfica e verifique os limites de certificação.

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Instale o Google Chrome no Gooroom OS com segurança usando pacotes .deb oficiais, APT, verificações de políticas, orientações de atualização e correções para dispositivos gerenciados.

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Encaminhe com segurança os logs do sistema SLES para um servidor syslog remoto usando rsyslog, certificados TLS, verificação de nome do par, filas, validação e testes.

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integre o SLES 15 ao Active Directory com o SSSD usando o YaST. Prepare o DNS e o horário, configure os logins de domínio, verifique o Kerberos e compare o SSSD, o Winbind e o realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Diagnosticar e corrigir falhas de resolução de DNS no Debian 12 com systemd-resolved, incluindo resolv.conf, NetworkManager, networkd, cache e verificação.

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Instale o Pardus 25.2 ao lado do Windows 11 fazendo um backup, reduzindo o volume do Windows, inicializando a partir de um USB UEFI e protegendo as partições EFI e de recuperação existentes.