如何解决与docker的文件夹不匹配,构成并部署到heroku
我有一个看起来像这样的docker-compose文件
version: '3'
services:
banana:
image: &banana_version recruiter-1912/banana:20.8.1
build:
context: platform
dockerfile: banana/Dockerfile
ports:
- "8000:8000"
environment:
PORT: 8000
MN_VERSION: *banana_version
volumes:
- ./platform/banana:/banana
具有以下文件结构:
- platform/
- banana/
- Dockerfile
- requirements.txt
- banana/
-seemingly unimportant files-
- docker-compose.yml
我正在尝试将此服务部署到Heroku。
我这样做是heroku container:push web
,但为此我cd
进入了platform/banana
目录。
当我尝试推入容器时,出现错误
COPY failed: stat /var/lib/docker/tmp/docker-builder648546726/banana/requirements.txt: no such file or directory
FROM python:3.7.7-slim
COPY banana/requirements.txt .
RUN pip install -r requirements.txt
ADD . /banana
WORKDIR /banana
CMD gunicorn -b :$PORT -k uvicorn.workers.UvicornWorker banana.main:app
如果我将COPY banana/requirements.txt .
更改为COPY requirements.txt .
但我可以将其部署到heroku,但由于相同的此类文件或目录错误,我的docker-compose构建将无法工作。
我如何做到这一点,以便既可以部署到heroku和docker-compose本地构建,又不需要每次都更改dockerfile中的文件路径?
解决方法
尝试将上下文更改为。,例如:
context: .
这意味着您的上下文是当前工作目录。
并更改
COPY banana/requirements.txt .
到
COPY platform/banana/requirements.txt .
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。