2017-06-06 188 views
2

我设置了一个网站,我有使用Django和Gunicorn设置后端,我试图将整个东西打包在一个docker容器中。我在Ubuntu 17.04 Zesty上使用Docker 17.05.0-ce边缘。出于某种原因,即使目录mysiteDockerfile,Django应用程序,requirements.txt,start.shon github here),码头构建停止在ADD requirements.txt /app/src/requirements.txtDocker的构建似乎没有看到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 

其中,对我说,我这一切都是错误的。

回答

2

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

使用此:

docker build -t invent_an_image_name /path/to/mysite 
+0

我应该做的是从同一目录或我能做到这一点从包含'mysite'的derectory? – ThisGuyCantEven

+0

当然。你可以用'docker build/path/to/mysite'。试试吧,告诉我 – Robert

+0

这似乎起作用了,当我去运行它时,容器的默认名称是什么? – ThisGuyCantEven

相关问题