2017-09-01 5 views
0

の下で展開されたフラスコアプリのモジュールを見つけることができませんmodule_aで定義される。コマンドpython main.pyで正常に動作します。は、私のような構造で、フラスコに書かれたプロジェクトを持っているドッキングウィンドウ+ nginxの+ uwsgi

は、だから私は以下のように、ドッキングウィンドウの下でそれを展開するDockerfileを計画:ビルド

FROM tiangolo/uwsgi-nginx-flask:python3.6 

COPY ./src/* /app/ 

とドッキングウィンドウでWebアプリケーションを実行して、私はエラーを得た:

Traceback (most recent call last): 
    File "./main.py", line 1, in <module> 
    from web import run 
    File "./web.py", line 5, in <module> 
    import module_a 
ModuleNotFoundError: No module named 'module_a' 

なぜuwsgiがmodule_aを見つけることができませんでした?私は何か見落としてますか?

+0

'module_a'で定義された関数をどのようにインポートしますか? –

答えて

0

問題はあなたのCOPYステートメントです。あなたはそれが/アプリにそれらの試合の内容をコピーします./src/*を使用するときは、出力

Step 1/5 : FROM alpine 
---> 7328f6f8b418 
Step 2/5 : COPY ./src/* /app/ 
---> Using cache 
---> ad9fbfdc161d 
Step 3/5 : RUN ls -alh /app 
---> Using cache 
---> 4dcad7cf4fba 
Step 4/5 : COPY ./src /app 
---> d25b4dc34f82 
Removing intermediate container 4bf0fc884332 
Step 5/5 : RUN ls -alh /app 
---> Running in 34401d92bf03 
total 16 
drwxr-xr-x 4 root  root  4.0K Sep 1 16:46 . 
drwxr-xr-x 26 root  root  4.0K Sep 1 16:46 .. 
-rw-rw-r-- 1 root  root   0 Sep 1 16:44 __init__.py 
-rw-rw-r-- 1 root  root   0 Sep 1 16:44 main.py 
drwxrwxr-x 2 root  root  4.0K Sep 1 16:45 module_a 
drwxrwxr-x 2 root  root  4.0K Sep 1 16:45 web 
-rw-rw-r-- 1 root  root   0 Sep 1 16:45 web.py 

を見ることができます構築する場合、私はあなたのデータ

FROM alpine 
COPY ./src/* /app/ 
RUN ls -alh /app 
COPY ./src /app 
RUN ls -alh /app 

でサンプルを作成しました。したがって、ファイルを正しく取得することはできません。だからあなたは使用する必要がありますCOPY ./src /app

関連する問題