我有一个奇怪的问题,我似乎无法深究。 我的django项目是使用docker-compose
设置的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
和dockerfile是
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/
在Pycharm中,我启动了一个配置了docker compose的新Django项目,它创建得很好。当我尝试调试时,我会得到通常的结果:
警告:未找到使用cython的调试器加速。跑 '“/ usr / local / bin / python”“/ opt /。pycharm_helpers / pydev / setup_cython.py” build_ext --inplace'来构建。 pydev调试器:进程1正在连接
现在问题。由于奇怪的只读错误,我似乎无法运行Pycharm在我的'djweb'容器上建议的setup_cython命令。我很感激,如果有人能指出我正确的方向(我可能需要在我的容器中添加一些容量或??? - 显然pycharm还在我的旁边添加了其他图像/容器)
root @ b8bf92996472:/#“/ usr / local / bin / python”“/ opt /。pycharm_helpers / pydev / setup_cython.py”build_ext --inplace
运行build_ext构建'_pydevd_bundle.pydevd_cython'扩展 创建构建 错误:无法创建“构建”:只读文件系统
答案 0 :(得分:8)
我遇到了同样的问题,并且能够通过这种方式解决它:
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
您可能需要将163.10154.50
替换为您自己的实例 - 我在PyCharm中找到了我的 - > View
- > Tool Windows
- > Docker
,在Docker
- > Containers
下弹出的视图。
可以使用docker ps
注意 - 在我的配置中,我使用的是docker-machine,需要先从终端运行eval $(docker-machine env)
。