【问题标题】:Docker build seems to not see requirements.txt even though it's in same directoryDocker build 似乎看不到 requirements.txt,即使它在同一个目录中
【发布时间】:2017-11-08 01:54:25
【问题描述】:

我正在建立一个网站,我使用 Django 和 Gunicorn 设置了后端,并且我正在尝试将整个东西打包在一个 docker 容器中。我在 Ubuntu 17.04 Zesty 上使用 docker 17.05.0-ce edge。出于某种原因,即使目录mysiteDockerfile、Django 应用程序、requirements.txtstart.sh (on github here),docker 构建也会在ADD requirements.txt /app/src/requirements.txt 处停止。

# Dockerfile

# FROM base image to build upon
FROM phusion/baseimage

# RUN install python and pip
RUN apt-get update
RUN apt-get install -y python python-pip python-dev 

# ADD requirements.txt and RUN pip to install them
ADD requirements.txt /app/src/requirements.txt
WORKDIR /app/src
RUN pip install -r requirements.txt

# EXPOSE port 8000 to allow communication to/from server
EXPOSE 8000

# CMD execute start.sh to start the server running.

WORKDIR /app/src/mysite
CMD ["/start.sh"]
# done!

我导航到“mysite”,运行docker build - < Dockerfile,它在复制requirements.txt 的那一行停止,我收到以下错误:

Sending build context to Docker daemon  2.048kB
Step 1/9 : FROM phusion/baseimage
 ---> 877509368a8d
Step 2/9 : RUN apt-get update
 ---> Using cache
 ---> adcb4b9e8b08
Step 3/9 : RUN apt-get install -y python python-pip python-dev
 ---> Using cache
 ---> 8dbbd3e010d5
Step 4/9 : ADD requirements.txt /app/src/requirements.txt
lstat requirements.txt: no such file or directory

对我来说,这说明我做错了。

【问题讨论】:

    标签: python django docker gunicorn docker-build


    【解决方案1】:

    您没有向 docker 守护进程发送上下文来构建您的项目。

    使用这个:

    docker build -t invent_an_image_name /path/to/mysite
    

    【讨论】:

    • 我应该从同一个目录执行此操作,还是可以从包含mysite 的目录执行此操作?
    • 当然。你可以`docker build /path/to/mysite'。试试看告诉我
    • 这似乎可行,我去运行时容器的默认名称是什么?
    • 您询问图像的名称。这是在构建输出中返回的 Id。但是放一些更好的东西:docker build -t invent_a_name /path/to/mysite,然后使用该名称执行 docker run。我会更新我的答案
    • 是的,但现在没有静态文件。为了避免冗长的 cmets,我用新的 dockerfile here 开始了一个新问题。
    猜你喜欢
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2018-05-26
    • 2020-10-31
    • 2013-01-25
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多