【问题标题】:Docker-compose image building error -> [Errno 2] No such file or directory on buildingDocker-compose 图像构建错误-> [Errno 2] 构建时没有这样的文件或目录
【发布时间】:2021-09-23 15:16:08
【问题描述】:

我有一个微服务,我正在尝试通过 docker-compose 运行它。 你可以在下面看到我的目录结构。

当我使用 docker build 在 GUI 目录中构建该图像时,它运行顺利。但是当我使用 docker-compose 时会出现这个错误:

[Errno 2] 构建中没有这样的文件或目录。

这里有什么问题?

目录结构

我的项目
|__docker-compose.yml
|__GUI
|____dockerfile
|____gui.py\

docker-compose.yml

version: "3"
services:
  service_gui:
    build: 
      context: .
      dockerfile: ./GUI/dockerfile
    ports:
      - 8080:8080

dockerfile

FROM continuumio/miniconda3
WORKDIR /app
COPY . .

RUN pip install dash
EXPOSE 8080
ENTRYPOINT [ "python","gui.py"]

【问题讨论】:

  • 你是否在最后运行dot(这意味着使用当前文件夹)? docker 构建。
  • 是的,我这样使用 -> docker build -t my_image_name .
  • 但问题不存在。它在 docker-compose 中
  • 试试这个:dockerfile: /GUI/dockerfile
  • 它不起作用。它看到dockerfile,问题应该在其他地方

标签: python python-3.x docker docker-compose dockerfile


【解决方案1】:

如果你正常运行

cd GUI
docker build -t service_gui .

相当于运行

# in the parent directory
docker build -t service_gui ./GUI

在这两种情况下,都将 GUI 目录作为 Docker 构建上下文传递。这意味着,在docker-compose.yml 文件中,您可以指定

build:
  context: GUI            # `docker build` directory parameter
  dockerfile: Dockerfile  # `docker build -f` option

或者,等价的,

build: GUI  # directory name only, default Dockerfile name

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2019-04-01
    • 2020-04-05
    • 1970-01-01
    • 2021-05-26
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多