我正在尝试在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
|
答案 0 :(得分:0)
路径必须在构建上下文内;你不能 COPY ../something / something,因为Docker构建的第一步 是将上下文目录(和子目录)发送到docker 守护程序。
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/design-elt-data-loading
dockerfile具有其自己目录的上下文,并且无法上移。 此问题有一些解决方法,例如:
使用docker build .
-f path/to/Dockerfile
命令
另一个-如果您使用的是docker-compose,则可以将其传递给其他上下文,例如,如果您的结构类似:
. ├── docker-compose.yml └── app ├── Dockerfile
然后在您的docker-compose文件中提供它:
services:
app:
build:
context: .
dockerfile: app/Dockerfile
在这种情况下,dockerfile的上下文将在上面的1个目录中。但这对我来说似乎有点拙劣。正确的方法是将dockerfile放置在您要复制的文件所在的位置。