2017-08-17 8 views
2

私はPythonファイルserver.pyを持っています。これは単に環境変数LOGS_PATHを読み込み、それを使ってターゲットのログディレクトリを作成します。ドッカーを実行しているときにそのようなファイルやディレクトリがありません

logs_path = os.getenv("LOGS_PATH", "/logs/proxy.log") 
fileHandler = logging.FileHandler(logs_path) 

マイドッキングウィンドウのファイルは、私はlogsディレクトリとproxy.logファイルを作成するには、次の、通知を持っています。

EXPOSE 8000 
CMD mkdir /logs 
CMD touch /logs/proxy.log 

CMD python server.py 

次に、私はドッカー画像を作成し、次のように実行します。

docker build -t rank 
docker run --rm -it --net=host -p 8000:8000 --env-file=.env-co --name=rank rank 

しかし、私が実行すると、それは爆発する。それはIOError: [Errno 2] No such file or directory: '/logs/proxy.log'

答えて

2

CMDRUNが違うと言います。このように使用:CMDを実行する際に、コンテナを表しコマンドである

EXPOSE 8000 
RUN mkdir /logs 
RUN touch /logs/proxy.log 

CMD python server.py 

、画像は一つだけCMDを(最後のもののみ有効である)ことができます。 docker buildを実行するとRUNが実行されます。

関連する問題