Mas o suficiente elogia sobre o Docker. Neste artigo, discutiremos como copiar arquivos de e para um contêiner para o sistema host e vice -versa.”
Vamos começar
Docker cp
Docker CP é um utilitário de linha de comando que permite copiar arquivos e diretórios entre sistemas. O comando assume uma sintaxe muito simples que permite um fluxo de trabalho fácil.
A sintaxe do comando:
Docker CP [Opções] Container: SRC_PATH DEST_PATH |-O utilitário CP copiará os arquivos especificados do SRC_PATH para o dest_Path. Isso permite que você copie do contêiner para o sistema host e vice -versa.
O contêiner pode estar em execução ou estado parado, e o comando executará a operação de cópia com sucesso.
Se um diretório for especificado, o comando copiará os arquivos recursivamente para o destino especificado.
Para copiar arquivos do sistema host para um contêiner, você pode usar a sintaxe:
$ docker cp host_path container_id: caminhoA mesma sintaxe de comando se aplica quando você deseja copiar arquivos do contêiner para o sistema host:
$ docker cp container_id: src_path host_pathVamos ver como podemos fazer isso com exemplos práticos.
Faça contêineres em execução
O primeiro passo é obter os nomes e IDs dos contêineres em execução. Podemos fazer isso com o comando PS Docker.
$ docker psDepois de obter o contêiner e o nome ou id, podemos prosseguir. Você pode obter o ID no ID do contêiner e as colunas de nomes.
Copie arquivos do sistema host para contêiner
Suponha que tenhamos um arquivo chamado backups.alcatrão na área de trabalho do sistema host e deseja copiá -lo para o contêiner Debian11.
Podemos executar o comando:
docker cp ~/desktop/backups.Tar Debian11:/HomeO comando acima copiará os backups.Arquivo TAR no diretório inicial do contêiner especificado.
Podemos verificar se o arquivo existe executando o comando:
$ Docker Exec -ti Debian11 /bin /BashO comando acima deve permitir que você faça login no recipiente e gerar uma casca de festa.
Agora você pode listar os arquivos e diretórios no contêiner como:
root@f657ea827600: /# ls -la /homePodemos ver que o arquivo foi copiado com sucesso no contêiner.
Se você deseja usar o ID do contêiner, pode executar o comando:
docker cp ~/desktop/backups.Tar F657ea827600:/HomeNOTA: Se existir um arquivo com um nome semelhante como o caminho de destino especificado, o comando o substituirá sem o prompt.
Arquivo de cópia do Docker de contêiner para host
Também podemos usar o comando para copiar arquivos do contêiner para o sistema host. Por exemplo, suponha que queremos copiar os logs do diretório do contêiner para o logs na pasta de desktop do host.
Podemos executar o comando:
$ sudo docker cp debian11:/var/log/~/desktop/logsNo comando acima, dizemos ao comando Docker CP para copiar os arquivos do diretório /var /log no Debian11 para o diretório LOGS no sistema host.
Podemos verificar isso executando o comando:
$ ls -ls ~/desktop/logsDocker CP Reserve Atributos
Você notará que uma vez que copiarmos um arquivo para e para o sistema host, o Docker não preserva os atributos como permissões, UIDs, etc.
Podemos resolver isso anexando a bandeira -a no comando Docker CP.
$ Docker cp -a host_path contêiner: caminhoUm exemplo é como mostrado:
sudo docker cp -a debian11:/var/log/~/desktop/logsPodemos ver que as permissões são semelhantes a um dos arquivos copiados no contêiner.
Conclusão
Neste tutorial, você aprendeu a usar o comando Docker CP para copiar arquivos de e para um contêiner do docker para o sistema host e vice -versa.
Obrigado pela leitura!!