2017-06-24 141 views
1

使用碼頭工具我無法從瀏覽器調用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

你可以'搬運工運行 - 它測試1 /斌/ bash'得到一個shell提示符嘗試手動運行命令或使用'ls'或其他命令四處看看。 – Paul

回答

0

RUN是一個Dockerfile指令,用於在構建時運行命令來生成映像。

你需要運行的容器是什麼定義CMD,它代表運行的容器,當你執行該程序docker run ...

變化:

RUN python app.py & 

要:

CMD python app.py 
0

問題已解決。

在dockerfile有誤差改變了dockerfile,如下所示:

FROM ubuntu的:16。04

RUN的mkdir -p/usr/src目錄/應用 WORKDIR/usr/src目錄/應用

運行apt-get安裝-y libavresample-dev的

各種Python和C /建造的DEP

運行apt-get更新& &易於得到安裝-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安裝-y蟒蛇-PIP

RUN如果結果不是/ OpenCV的

RUN CD〜/ OpenCV的

運行apt-get安裝-y VIM

RUN PIP安裝boto3

RUN PIP安裝博託

RUN pip安裝燒瓶

RUN pip安裝路徑LIB

RUN PIP安裝scikit視頻

EXPOSE 5000

COPY。 /應用 WORKDIR /應用

入口點[ 「蟒蛇」]

CMD [ 「app.py」]