web-dev-qa-db-ja.com

Ubuntuの絶対パスからのDocker COPY

Dockerfileに次の行があります

COPY /root/url.net/volumes/persistent/url/root /usr/share/nginx/html

Docker-composeでイメージを構築しようとすると、

サービス 'frontend'の構築に失敗しました:lstat /root/url.net/volumes/persistent/url/root:そのようなファイルまたはディレクトリはありません

私のマシンでは、どこからでも/root/url.net/volumes/persistent/url/rootに問題なくcdできます。

Dockerfileでフォルダーの絶対パスを指定するにはどうすればよいですか?

28
isADon

リソースの絶対パスは、ホスト上の絶対パスではなく、ビルドコンテキスト内の絶対パスを指します。そのため、すべてのリソースをdockerビルドを実行するディレクトリにコピーし、イメージをビルドする前にDockerfiles内でそれらのリソースのパスを提供する必要があります。 (これは、Dockerfileを実行する場所を指します)

これについても、クローズド issue があります。

34

できません。 Dockerイメージを構築するディレクトリ内のファイル/フォルダーをコピー/ハードリンクする必要があります。

13
Stefano