はじめに
以下の構成の際にsample.txtをCOPYしたいというモチベがあったのですが、単純に以下のようにコマンドを実行しても動きませんでした。
parent
├── child1
│ └── Dockerfile
└── child2
└── sample.txt
# Dockerfile COPY ../child2/sample.txt ./sample.txt
# docker buildを行う $pwd …/parent/child1 $ docker build . ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref ...: "/child2/sample.txt": not found
その対処法を備忘録がてら書き残しておこうと思います。
対処法
実行するカレントディレクトリを目的のファイルを含めるパスへ変更をしてから、docker buildを実行します。
$ pwd ../parent $ docker build . -f ./child1/Dockerfile
-fを付与することで、Dockerfile がファイルシステム上のどこにあってもDockerfileを指定することができます。
docs.docker.jp
docker-compose.yamlでも同様にdockerfileを指定してあげればいけます。