使用docker我无法从浏览器调用Web应用程序。
以下是使用的dockerfile:
FROM continuumio/anaconda:latest
Expose 5000
ADD . /code-directory
WORKDIR code-directory
RUN conda install opencv
RUN pip install boto3
RUN pip install boto
RUN pip install flask
RUN pip install pathlib
ADD facedetection_video.py facedetection_video.py
ADD UI_Interface UI_Interface
WORKDIR /UI_Interface
COPY . app.py
RUN python app.py &
以下是app.py
的内容from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Flask Dockerized'
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0')
用于生成泊坞窗图像的命令
docker build -t test1 .
用于运行容器的命令
docker run -d -p 5000:5000 test1
容器的输出状态消息是:
Exited (0) 3 minutes ago
在日志中我找不到任何错误消息。请建议
答案 0 :(得分:0)
RUN
是一个Dockerfile指令,用于在构建时运行命令以生成图像。
运行容器所需的是定义CMD
,它表示执行docker run ...
变化:
RUN python app.py &
要:
CMD python app.py
答案 1 :(得分:0)
问题已解决。
在dockerfile中有错误更改了dockerfile,如下所示:
FROM ubuntu:16.04
运行mkdir -p / usr / src / app WORKDIR / usr / src / app
运行apt-get install -y libavresample-dev
运行apt-get update&& apt-get install -y \
wget \
build-essential \
cmake \
git \
unzip \
pkg-config \
python-dev \
python-opencv \
libopencv-dev \
libav-tools \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libjasper-dev \
libgtk2.0-dev \
python-numpy \
python-pycurl \
libatlas-base-dev \
gfortran \
webp \
python-opencv \
qt5-default \
libvtk6-dev \
zlib1g-dev
运行apt-get install -y python-pip
RUN mkdir -p~ / opencv
运行cd~ / opencv
运行apt-get install -y vim
RUN pip install boto3
RUN pip install boto
RUN pip安装瓶
运行pip install pathlib
RUN pip install scikit-video
EXPOSE 5000
COPY。 /应用 WORKDIR / app
ENTRYPOINT [“python”]
CMD [“app.py”]