web-dev-qa-db-ja.com

コピーソースファイルが指定されていません

Dockerコンテナーを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

私の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;"]
3
Dafly45

Dockerfile COPYコマンドは、ビルド「コンテキスト」からイメージにファイルをコピーします。ビルドコンテキストは、ビルドコマンドの最後に渡すフォルダーです。例えば。 docker build -t myimage:latest .コマンド、.はコンテキストです。 COPYコマンドを使用するには、そこに「dist/*」が存在する必要があります。

きみの RUN ls distコマンドは、作成しているイメージ内のディレクトリを一覧表示します。画像内のある場所から別の場所にファイルをコピーする場合は、次のようにします。

RUN cp -a dist/* /var/www/html/
3
BMitch