はじめに
以下の構成の際に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
を指定してあげればいけます。