PyCharm无法从Docker容器中打开文件:没有这样的文件或目录

时间:2019-12-30 17:56:50

标签: python docker docker-compose pycharm

我有一个docker-compose.yml文件,该文件创建一个Python映像(名为“ flask”)和一个Postgres映像(名为“ database”)。当我尝试运行任何Python脚本/文件时,我从Python映像中收到以下消息:

flask | python: can't open file '/home/username/Projects/ProjectName/app/src/script.py": [Errno 2] No such file or directory

如果任何人都可以提供一些见解或步骤来解决此问题,我将不胜感激。谢谢。

docker-compose.yml:

version: '3.7'

services:
        app:
                container_name: flask
                build:
                        context: ./app
                ports:
                        - 8000:8000
                depends_on:
                        - database
        database:
                container_name: postgres
                build:
                        context: ./postgres
                ports:
                        - 5432:5432

app / dockerfile

FROM python:3.8

WORKDIR /app
COPY requirements.txt .
RUN python -m pip install -r requirements.txt
EXPOSE 8000
COPY . .
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--access-logfile", "-", "--error-logfile", "-", "--log-level", "debug",  "wsgi"]

postgres / dockerfile:

FROM postgres:latest

COPY database_object_creation /init-queries/

ENV POSTGRES_USER=username
ENV POSTGRES_PASSWORD=password
ENV PGPASSWORD=$POSTGRES_PASSWORD
ENV POSTGRES_HOST=postgres
ENV POSTGRES_PORT=5432
ENV POSTGRES_DB=databasename

COPY dbinit.sh /docker-entrypoint-initdb.d

PyCharm中的运行/调试配置: (某些字段有意留为空白)

Script path: /home/username/Projects/ProjectName/app/src/script.py
Parameters:
Environment variables: PYTHONUNBUFFERED=1
Interpreter options:
Working directory: /home/username/Projects/ProjectName/app/src
Path mappings:
Add content roots to PYTHONPATH: (checked)
Add source roots to PYTHONPATH: (checked)
Run with Python Console: (unchecked)
Redirect input from:
Command and options:
Command preview:
Before launch Activate tool window:

项目远程Python解释器: (某些字段有意留为空白)

Name: Remote Python 3.8.1 Docker Compose (app at [/home/username/Projects/ProjectName/./docker-compose.yml])
Docker Compose (checked)
Server: Docker
Configuration file(s): ./docker-compose.yml
Service: app
Environment variables:
Python interpreter path: python
Execute code using this interpreter with root privileges via sudo (unchecked)
PyCharm helpers path: /opt/.pycharm_helpers

我还注意到PyCharm正在创建(也许正在使用?)这个yml文件。 /home/username/.PyCharm2019.3/system/tmp/docker-compose.override.10.yml

version "3.7"
services:
  app:
    command:
    - "python"
    - "-u"
    - "/home/username/Projects/ProjectName/app/src/script.py"
    environment:
      PYTHONPATH: "/home/username/Projects/ProjectName:/opt/.pycharm_helpers/pycharm_matplotlib_backend:/opt/.pycharm_helpers/pycharm_display"
      PYTHONUNBUFFERED: "1"
      PYTHONIOENCODING: "UTF-8"
      PYCHARM_HOSTED: "1"
      PYCHARM_DISPLAY_PORT: "63342"
    stdin_open: true
    volumes:
    - "/home/username/Projects/ProjectName/.:/opt/project:rw"
    - "pycharm_helpers_PY-193.5662.61:/opt/.pycharm_helpers"
    working_dir: "/home/username/Projects/ProjectName/app/src"
volumes:
  pycharm_helpers_PY-193.5662.61: {}

0 个答案:

没有答案