Cópia de arquivo do contêiner docker

1. O método de cópia do contêiner em execução

Use docker cpo comando para copiar arquivos de uma máquina física para um contêiner Docker em execução ou para copiar arquivos de um contêiner Docker para uma máquina física.

Por exemplo, para test.txtcopiar em mycontainerum /appdiretório , você pode usar o seguinte comando:

 
 

Copie arquivos do host para o contêiner:

docker cp test.txt mycontainer:/app/test.txt

onde test.txté o arquivo local a ser copiado, mycontaineré o nome do contêiner e /app/test.txté o caminho do arquivo do contêiner.

Se você deseja copiar os arquivos do contêiner do Docker para a máquina física, pode usar o seguinte comando:

 
 

Copie os arquivos do contêiner para o host:

docker cp mycontainer:/app/test.txt test.txt

Este comando mycontainerimplementa /app/test.txta cópia dos arquivos no contêiner para test.txtos arquivos .

Observe que docker cpo comando requer o Docker versão 1.8 ou posterior para funcionar. Além disso, você precisa garantir que tenha permissões de leitura e gravação suficientes para os arquivos a serem copiados.

2. Copie ao criar o dockerfile

No Dockerfile, você pode usar diretamente COPYo ADDcomando ou para copiar o arquivo local para a imagem. O princípio é que, quando o Docker cria a imagem, ele primeiro copia o arquivo local para um diretório temporário e, em seguida, adiciona o diretório à imagem sistema de arquivo.

Quando COPYo ADDcomando or é usado, o mecanismo de construção do Docker encontrará o arquivo ou diretório correspondente do contexto de construção de acordo com o caminho de origem especificado e o copiará para o caminho de destino na imagem. Se o caminho de origem for um diretório, o caminho de destino deverá /terminar com , ou a operação COPY ou ADD falhará.

Por exemplo, no seguinte Dockerfile:

FROM nginx:latest 
COPY index.html /usr/share/nginx/html/
ADD static.tar.gz /usr/share/nginx/html/

Este Dockerfile especifica nginx:latestcomo a imagem base e, em seguida index.html, copia os arquivos no diretório local para /usr/share/nginx/html/o diretório . Ao criar uma imagem, o mecanismo de compilação do Docker primeiro index.htmlcopia para um diretório temporário e, em seguida, adiciona o diretório ao sistema de arquivos da imagem, para copiar os arquivos do local para a imagem.

Portanto, é possível copiar arquivos locais diretamente para o contêiner usando as diretivas COPYou . ADDAlém disso, isso também automatiza a cópia de arquivos na imagem, para que a imagem possa ser usada diretamente ao criar um novo contêiner, sem a necessidade de copiar os arquivos manualmente.

Acho que você gosta

Origin blog.csdn.net/weixin_43391813/article/details/131308833
Recomendado
Clasificación