我正在尝试创建一个使用Docker创建的webapp的构建,但我没有成功。我曾尝试过两个不同的教程,但都没有为我工作
关注Tutorial 1: 构建似乎完成没有任何问题,但我无法在任何地方找到图像文件,并且' sudo docker ps -a'一无所获。
通过thtutorial 2: 我现在收到另一个错误,即找不到需求文件。我在这里查找了解决方案,但似乎我正在使用&ADFF requirements.txt / webapp'将其添加到构建中。命令。我检查了我拼写要求是对的,哈哈。现在我确实在&sudo docker ps -a'中看到了它,但是我没有看到任何图像文件,如果我这样做,可能会无法正常工作,因为它无法找到要求。
我对错误以及如何正确构建码头工具感到困惑。如何让它找到需求文件,然后完成" Build"命令,实际上有一个图像。该图像存储在哪里?
以下是我在完成第二个教程后的设置。
Dockerfile
$filename = 'img/' . basename($_FILES['image']['tmp_name']);
move_uploaded_file($_FILES['image']['tmp_name'], $filename);
$text = mysql_real_escape_string($_POST['text']);
$sql = "INSERT INTO `{$db["posts"]}` (`img`, `text`) VALUES ('$filename', '$text')";
要求
FROM ubuntu:latest
#Update OS
RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get -y upgrade
# Install Python
RUN apt-get install -y python-dev python-pip
# Add requirements.txt
ADD requirements.txt /webapp
# Install uwsgi Python web server
RUN pip install uwsgi
# Install app requirements
RUN pip install -r requirements.txt
# Create app directory
ADD . /webapp
# Set the default directory for our environment
ENV HOME /webapp
WORKDIR /webapp
# Expose port 8000 for uwsgi
EXPOSE 8000
ENTRYPOINT ["uwsgi", "--http", "0.0.0.0:8000", "--module", "app:app", "--processes", "1", "--threads", "8"]
CMD ["app.py"]
目录结构(如果重要)
Flask==0.12.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.5
SQLite3==3.18.0
&#39>的当前输出sudo docker ps -a'
app.py
image_data.db
README.txt
requirements.txt
Dockerfile
templates
- index.html
static/
- image.js
- main.css
img/
- camera.png
images/
- empty
答案 0 :(得分:2)
requirements.txt应与dockerfile存在于同一目录中。我从dockerfile中看到requirements.txt被添加到webapp但是
RUN pip install -r requirements.txt
正试图在当前目录中找到它;您可能需要将rquirement.txt复制到当前目录,如
ADD requirements.txt .
让我们看看是否有效。我没有测试它。
您可以通过
查看图片docker images
然后像
一样运行它docker run -t image_name