2016-10-18 6 views
1

私はここでhereドッカー-コンチュートリアル「のpython:オープンできませんファイル「manage.pyを」

を示す簡単なドッカー-構成例を実行していますDockerfileである:ここでは

FROM python:2.7 
ENV PYTHONUNBUFFERED 1 
RUN mkdir /code 
WORKDIR /code 
ADD requirements.txt /code/ 
RUN pip install -r requirements.txt 
ADD . /code/ 

はドッキングウィンドウです-compose.yml:

version: '2' 
services: 
    db: 
    image: postgres 
    web: 
    build: . 
    command: python manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

それは次のように私を与えるドッキングウィンドウ-構成で、私は例を起動しようとしています:

[email protected]:~/projects/testcompose$ docker-compose up 
testcompose_db_1 is up-to-date 
Recreating testcompose_web_1 
Attaching to testcompose_db_1, testcompose_web_1 
web_1 | python: can't open file 'manage.py': [Errno 2] No such file or directory 
db_1 | The files belonging to this da... 

おそらくチュートリアルは最新ではないので、あなたが答えを知っていれば、ここに書いてください。

+0

'docker-compose.yml'で' docker-compose run web django-admin.py startproject composeexample .'を実行しましたか?実際に 'manage.py'とすべてのDjango関連ファイルがDocker Volume内に作成されます。 – illagrenan

+0

はい、私はそれをしました。実際問題は、このコマンドを実行した後、プロジェクトの構造が正しくないということでした。これは、内部にprojectとmanage.pyファイルを含むcomposeexampleフォルダを追加作成しました。すべてのファイルを1つ上に移動した後、すべてが期待どおりに機能していました。 –

答えて

1

docker-machineまたはDocker Toolboxを使用している場合は、プロジェクトが/Usersディレクトリにないために発生している可能性があります。そのディレクトリだけがVM内の共有フォルダとして使用できます。

configからvolumes:を削除するか、別の共有フォルダをVirtualboxに追加することができます。

+0

@dhephinは答えに感謝します!私はUbuntuでdocker-machineを使用していません。問題は、コンテナの中でDjangoプロジェクトを開始した後、正しいプロジェクト構造ではなかったことです。 –

関連する問題