Estou tentando copiar vários arquivos e pastas para uma imagem de janela de encaixe criada no meu host local.
Os arquivos são assim:
folder1
file1
file2
folder2
file1
file2
Estou tentando fazer a cópia assim:
COPY files/* /files/
No entanto, todos os arquivos são colocados em / files / existe uma maneira no Docker de manter a estrutura do subdiretório e de copiar os arquivos em seus diretórios?
copy
docker
dockerfile
user1220022
fonte
fonte
Respostas:
Remova a estrela de COPY, com este Dockerfile:
A estrutura está lá:
fonte
COPY files/*1 /files/
?RUN ls -la /files/*
diretamente da saída do console dedocker build
. Então, em vez disso, fui diretamente ao contêiner para fazerls
diretamente no host, comdocker exec -it <container name> /bin/bash
Como alternativa, você pode usar um "." em vez de *, como todos os arquivos do diretório de trabalho, inclua as pastas e subpastas:
fonte
Para mesclar um diretório local em um diretório dentro de uma imagem, faça isso. Ele não excluirá os arquivos já presentes na imagem. Ele adicionará apenas arquivos presentes localmente, substituindo os arquivos na imagem se já existir um arquivo com o mesmo nome.
fonte