在Dockerfile中无法引用父目录中的文件的问题

发生在自然界中的一切可观察到的事件、事物或行为。

├── nginx
|   └── Dockerfile
├── statics
├── Dockerfile
└── docker-compose.yaml

尝试从Dockerfile引用位于父目录的文件时无法成功。

FROM nginx
ADD ../statics /var/www/
CMD ["nginx", "-g", "daemon off;", "-c", "/etc/nginx/nginx.conf"]
$ docker-compose up --build
Building nginx
Step 1/4 : FROM nginx
 ---> be1f31be9a87
Step 2/4 : ADD statics /var/www/
ERROR: Service 'nginx' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder740600385/statics: no such file or directory

我会在添加时失败。

解决问题

通过将docker-compose.yaml中的上下文包含在父目录中,现在可以引用文件了。

version: '3'
services:
  nginx:
#    build: ./nginx
    build: 
      context: .
      dockerfile: ./nginx/Dockerfile
    container_name: proxy
    ports:
      - 80:80
  api:
    build: .
FROM nginx
# ADD ../statics /var/www/
ADD statics /var/www/
CMD ["nginx", "-g", "daemon off;", "-c", "/etc/nginx/nginx.conf"]
广告
将在 10 秒后关闭
bannerAds