Azureパイプラインのdockerfileのコピーコマンドのパスが間違っています[重複]
Azure devopsパイプラインを使用してjarをビルドし、Dockerイメージに配置します。
私はmavenを使用してjarをビルドし、jarと依存関係をフォルダー/ componentA / target / containerに配置し
ます。Pom
ファイル-/ componemtA / pom.xmlDockerファイル-/ componentA / docker / Dockerfile
私のパイプラインyumlファイルは
......
stages:
- stage: BUILD
jobs:
- job: BUILD_JAR_AND_IMAGE
steps:
- task: MavenAuthenticate@0
....
- task: Maven@3
......
- task: Docker@2
inputs:
command: login
containerRegistry: xxxx
- task: Docker@2
displayName: Build an image
inputs:
containerRegistry: 'xxx'
repository: '$(image_name)' command: 'build' Dockerfile: '$(component_dir)/docker/Dockerfile'
tags: '$(Build.BuildNumber)'
私のdockerファイルは次のとおりです。
.....
COPY /componentA/target/container /opt
....
そして、エラー
2021-01-12T00:04:43.9376526Zステップ2/19:COPY / componentA / target / container / opt
2021-01-12T00:04:43.9431565Z COPY failed:stat / var / lib / docker / tmp / docker-builder630817503 / componentA / target / container:そのようなファイルまたはディレクトリはありません
2021-01-12T00:04:43.9501516Z ## [エラー] COPYが失敗しました:stat / var / lib / docker / tmp / docker-builder630817503 / besReportService /ターゲット/コンテナ:そのようなファイルまたはディレクトリはありません
2021-01-12T00:04:43.9717162Z ## [エラー]プロセス '/ usr / bin / docker'が終了コード1で失敗しました
copyコマンドは、/ home / vsts / work / 1 / sではなくvar / lib / docker / tmp / docker-builder630817503で開始されます
この問題を解決するにはどうすればよいですか?
回答
.dockerignore
コピーしようとしたディレクトリを無視したファイルがあるかどうかを確認してください。
次の問題をチェックして、それが役立つかどうかを確認してください。
https://github.com/docker/for-linux/issues/90