2016-11-25 1 views
7

Ich habe ein seltsames Problem, das ich nicht auf den Grund zu kommen scheinen. Mein django Projekt eingerichtet ist, mit Docker-komponierenPycharm run "Debugger Beschleunigungen mit Cython" auf Docker gehostete App

version: '2' 
services: 
    db: 
     image: postgres:9.6.0 
     environment: 
      POSTGRES_PASSWORD: docker 
      POSTGRES_USER: docker 
     ports: 
      - "8001:5432" 
    djweb: 
     build: . 
     command: python dj/manage.py runserver 0.0.0.0:8000 
     volumes: 
      - .:/code 
     ports: 
      - "8000:8000" 
     depends_on: 
      - db 

und dockerfile ist

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

In PyCharm ich ein neues Django-Projekt konfiguriert mit Docker compose gestartet und es war in Ordnung geschaffen. Wenn ich versuche, es zu debuggen, bekomme ich das übliche:

Und jetzt das Problem. Ich kann anscheinend nicht in der Lage sein, den Befehl setup_cython auszuführen, den Pycharm in meinem Container 'djweb' aufgrund eines seltsamen schreibgeschützten Fehlers vorschlägt. Ich würde es begrüßen, wenn jemand mich in die richtige Richtung zeigen kann (ich wahrscheinlich etwas Volumen zu meinem Container hinzufügen müssen oder ??? - anscheinend PyCharm auch andere Bilder/Container neben Mine fügt)

[email protected]:/# "/usr/local/bin/python" "/opt/.pycharm_helpers/pydev/setup_cython.py" build_ext --inplace
running build_ext building '_pydevd_bundle.pydevd_cython' extension creating build error: could not create 'build': Read-only file system

Antwort

8

Ich lief in das gleiche Problem und konnte es mit einem Befehl auf diese Weise lösen:

docker run -t -i --volumes-from pycharm_helpers_PY-163.10154.50 IMAGE_NAME \ 
/usr/bin/python /opt/.pycharm_helpers/pydev/setup_cython.py build_ext --inplace 

Sie würden wahrscheinlich 163.10154.50 mit Ihrer eigenen Instanz ersetzen müssen - ich meine in PyCharm gefunden ->View ->Tool Windows ->Docker, in die Ansicht, die erscheint, unter Docker ->Containers.

IMAGE_NAME mit docker ps

Hinweis zu finden - Bei meiner Konfiguration I Docker-Maschine verwenden und benötigen eval $(docker-machine env) vom Terminal läuft zuerst.