首页 > 解决方案 > 如何在撰写文件中正确定义服务

问题描述

我必须在 Docker Compose 上运行简单的服务。第一个镜像用于托管之前创建的服务,而依赖于第一个镜像的第二个镜像用于运行测试。所以我创建了Dockerfile

FROM python:2.7-slim
WORKDIR /flask
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "routes.py"]

一切正常。我创建了一些同样有效的简单测试,并将文件放在与routes.py. 所以我尝试创建docker-compose.yml文件并做了类似的事情:

version: '2'
services:
    app:
        build: .
        command: 'python MyTest.py'
        ports:
            - "5000:5000"
    tests:
        build:
            context: Mytest.py
        depends_on:
            - app

当我运行它时,我收到一个错误:

TypeError: You must specify a directory to build in path
[13341] Failed to execute script docker-compose

那么我应该如何指定这些目录以及我可以将它放在哪里apptests服务?

标签: pythondockerdocker-compose

解决方案


修改你的构建命令:

...
  build:
    context: .
    dockerfile: Dockerfile
...

推荐阅读