COPY Não foram especificados arquivos de origem

3

Estou tentando implantar um contêiner do Docker no AWS CodeBuild e ele continua falhando na seguinte etapa:

COPY dist/* /var/www/html/

Tenho certeza de que há algo dentro desse diretório, e só para ter certeza de que executei o comando ls dist :

Step 4 : RUN ls dist
---> Running in cc6a985f54dd
1.1.329fd43c10e3d0fc91b9.js
3.3.d0a0148e036318c95bfe.js
4.4.d85fbfa6409009fb6e4c.js
app.a6626f87bbfc6e67618d.js
app.cd527cf8dea96798229c62fb7d983606.css
favicon.ico
humans.txt
index.html
robots.txt
vendor.d81f28030613dd8760c0.js

Meu dockerfile:

FROM jaronoff/listmkr-prod
# Remove the default nginx index.html
RUN rm -rf /var/www/html/index.nginx-debian.html

RUN npm run deploy:prod
# Copy the contents of the dist directory over to the nginx web root

RUN ls dist

COPY dist/* /var/www/html/
# Expose the public http port
EXPOSE 80
# Start server
CMD ["nginx", "-g", "daemon off;"]
    
por Dafly45 11.10.2017 / 07:55

1 resposta

3

O comando Dockerfile COPY copia arquivos do "contexto" de construção para sua imagem. O contexto de compilação é a pasta que você passa no final do comando de compilação. Por exemplo. no comando docker build -t myimage:latest . , o . é o seu contexto. Para usar o comando COPY , o "dist / *" precisaria existir lá.

Seu comando RUN ls dist está listando o diretório dentro da imagem que você está construindo. Se você quiser copiar arquivos de um local dentro de sua imagem para outro local, você faria:

RUN cp -a dist/* /var/www/html/
    
por 13.10.2017 / 18:03