docker container cp
Comando docker container cp
docker container cp
O comando docker container cp
é utilizado para copiar arquivos ou diretórios entre o sistema host e um container Docker. Ele é extremamente útil quando você precisa mover dados ou código para dentro de um container em execução ou quando precisa extrair dados de um container para o sistema host.
Sintaxe Básica
<origem>
: Pode ser um caminho no host ou no container.<destino>
: Pode ser um caminho no host ou no container.
Exemplo:
ou
Explicação dos Componentes
origem
:Pode ser um caminho absoluto ou relativo no sistema host ou no container.
Se for uma pasta, o conteúdo da pasta será copiado para o destino.
Se for um arquivo, o arquivo será copiado para o destino.
destino
:Especifica onde os arquivos ou diretórios serão copiados.
Se o destino for um diretório, o conteúdo será copiado para dentro desse diretório.
Se o destino for um caminho que não existe, ele será criado.
Exemplos de Uso
Copiar um arquivo do host para o container:
Isso copia o arquivo
minha_aplicacao.py
do diretório atual no host para o diretório/app
dentro do container4a7b24d0fc57
.Copiar um diretório do host para o container:
Isso copia o conteúdo de
./meu_diretorio
para o diretório/app
dentro do container. Se/app/meu_diretorio
não existir, ele será criado.Copiar um arquivo do container para o host:
Isso copia o arquivo
meu_arquivo.log
do container para o diretório atual no host.Copiar um diretório do container para o host:
Isso copia o diretório
meu_diretorio
do container para o diretório atual no host.
Observações Importantes
Permissões de Arquivo: Ao copiar arquivos, o Docker ajusta as permissões para corresponder ao usuário que está executando o processo dentro do container.
Sobrescrita: Se o destino especificado já contiver arquivos ou diretórios com o mesmo nome, eles serão sobrescritos sem aviso.
Caminho Relativo e Absoluto: Você pode usar tanto caminhos relativos quanto absolutos ao especificar a origem e o destino.
Especificidade no Caminho: Se você especificar o caminho de um diretório como origem (por exemplo,
./meu_diretorio
), apenas o conteúdo do diretório será copiado. Se você quiser copiar o diretório em si, inclua uma barra ao final (por exemplo,./meu_diretorio/
).
Segurança e Limitações
Montagens e Volumes: Quando você copia arquivos para ou de um container, considere como isso pode interagir com volumes Docker. Arquivos em volumes montados podem estar sujeitos a diferentes permissões ou comportamentos.
Desempenho: Copiar arquivos grandes ou muitos arquivos pequenos pode ser menos eficiente do que outras formas de compartilhamento de dados, como usar volumes Docker.
Compatibilidade: O comando
docker container cp
é suportado em todos os sistemas onde o Docker está disponível (Linux, Windows, Mac), mas o comportamento pode variar ligeiramente dependendo do sistema de arquivos subjacente.
Depuração e Solução de Problemas
Verifique os Caminhos: Se a cópia falhar, verifique se os caminhos estão corretos e se o container está em execução.
Verifique as Permissões: Problemas de permissão são comuns, especialmente ao copiar arquivos de/para um container que está executando como um usuário diferente do padrão.
Container Não Encontrado: Se o ID do container não for encontrado, verifique se o container está em execução ou se você forneceu o ID correto.
Equivalentes
Além do comando docker container cp
, você pode usar volumes montados no Docker para compartilhar arquivos entre o host e o container de forma persistente e automática.
Essa documentação oferece uma visão detalhada do comando docker container cp
, seus usos, exemplos e considerações práticas.
Last updated