Я пытаюсь развернуть контейнер докеров в AWS CodeBuild, и он продолжает терпеть неудачу на следующем этапе:
COPY dist/* /var/www/html/
Я уверен, что в этом каталоге что-то есть, и, чтобы убедиться, я выполнил команду 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
Мой файл докеров:
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;"]
Dockerfile COPY
Команда скопирует файлы из "контекста" сборки в ваш образ. Контекст сборки - это папка, которую вы передаете в конце команды сборки. Например. в docker build -t myimage:latest .
команда, .
это ваш контекст. Чтобы использовать COPY
команда, "dist / *" должна существовать там.
Ваш RUN ls dist
Команда выводит список каталога внутри создаваемого изображения. Если вы хотите скопировать файлы из одного места внутри вашего изображения в другое, вы должны сделать:
RUN cp -a dist/* /var/www/html/