这个问题在这里已有答案:
我试着在我的php / dockerfile中复制一些文件:
COPY ./supervisord.conf /etc/supervisor #work
COPY ../../config/supervisor/* /etc/supervisor/conf.d #doesn't work
WORKDIR /home/wwwroot/
正确的路径应该是什么样的?这是我的结构:
|config -> supervisor -> *
|
|docker -> php -> Dockerfile
| -> supervisord.conf
|
路径必须位于构建的上下文中;你不能COPY ../something / something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。
https://docs.docker.com/engine/reference/builder/
dockerfile有自己的目录的上下文,它无法进入上面。这个问题有一些解决方法,例如:
docker build .
在要作为上下文的目录上运行-f path/to/Dockerfile
命令. ├── docker-compose.yml └── app ├── Dockerfile
然后在您的docker-compose文件中,您可以给它:
services:
app:
build:
context: .
dockerfile: app/Dockerfile
在这种情况下,dockerfile的上下文将是上面的1个目录。但这对我来说似乎有些苛刻。正确的方法是将dockerfile放在您尝试复制的文件所在的位置。