我正在尝试使用docker将其容器用于微服务,但是无法找到Dockerfile,我看到了许多博客,但仍不清楚。
我正在关注本教程。
https://testdriven.io/courses/microservices-with-docker-flask-and-react/part-one-docker-config/
我使用的命令是。 $ docker-compose -f docker-compose-dev.yml build
Docker-compose-dev文件的内容为。
version: '3.3'
services:
users:
build:
context: ./
dockerfile: Dockerfile-dev
volumes:
- './:/usr/src/app'
ports:
- 5001:5000
environment:
- FLASK_APP=project/__init__.py
- FLASK_ENV=development
Dockerfile-dev的内容是
# base image
FROM python:3.7.2-alpine
# set working directory
WORKDIR /usr/src/app
# add and install requirements
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install -r requirements.txt
# add app
COPY . /usr/src/app
# run server
CMD python manage.py run -h 0.0.0.0
我在路径中运行命令。
C:\Users\testdriven-app\services\users\project
确切错误是:
Building users..
Error: Cannot locate the specified Dockerfile: Dockerfile-dev
答案 0 :(得分:0)
在Docker-compose-dev
文件中,您将context: ./
设置为当前目录,该目录不是Dockerfile所在的位置。 docker-compose构建中的上下文表示[Source]:
要么是包含Dockerfile的目录的路径,要么是git存储库的URL。
dockerfile
选项告诉您上下文中必须存在的Dockerfile的名称。
当您告诉docker-compose您的上下文时,您实际上是在对Docker Engine说:“这是我允许您访问的目录,您将在该目录中找到构建映像所需的所有文件”。