2017-01-08 2 views
1

도커로 & 도커 - 작성기로 django-cookiecutter 템플릿 설정을했습니다. 나는 다음 내가 할 그 중 하나를 사용하려고 해요 때 미리 장고 관리 명령 (의 runserver, 마이그레이션 등)도커로 작동하도록 PyCharm 구성

와 함께 제공 :

 
ad381d177c42:python -u /opt/.pycharm_helpers/pycharm/django_test_manage.py test . /app 
Testing started at 2:17 ... 
Creating test database for alias 'default'... 
/usr/local/lib/python3.5/site-packages/environ/environ.py:608: UserWarning: /app/config/settings/.env doesn't exist - if you're not configuring your environment separately, create one. 
    "environment separately, create one." % env_file) 
/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py:248: RuntimeWarning: Normally Django will use a connection to the 'postgres' database to avoid running initialization queries against the production database when it's not needed (for example, when running tests). Django was unable to create a connection to the 'postgres' database and will use the default database instead. 
    RuntimeWarning 
Traceback (most recent call last): 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "/usr/local/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
psycopg2.OperationalError: could not connect to server: No such file or directory 
    Is the server running locally and accepting 
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

docker-compose up 매우 잘 작동. 모든 마법처럼하지만 PyCharm에서 일하는 것, 다시 한번

django docker-compose service interpreter

pycharm docker-compose service interpreter

:(

:

 
version: '2' 

volumes: 
    postgres_data_dev: {} 
    postgres_backup_dev: {} 

services: 
    postgres: 
    build: ./compose/postgres 
    volumes: 
     - postgres_data_dev:/var/lib/postgresql/data 
     - postgres_backup_dev:/backups 
    environment: 
     - POSTGRES_USER=budger 

    django: 
    build: 
     context: . 
     dockerfile: ./compose/django/Dockerfile-dev 
    command: /start-dev.sh 
    depends_on: 
     - postgres 
    environment: 
     - POSTGRES_USER=budger 
     - USE_DOCKER=yes 
    volumes: 
     - .:/app 
    ports: 
     - "8000:8000" 
    links: 
     - postgres 
     - mailhog 

    pycharm: 
    build: 
     context: . 
     dockerfile: ./compose/django/Dockerfile-dev 
    depends_on: 
     - postgres 
    environment: 
     - POSTGRES_USER=budger 
    volumes: 
     - .:/app 
    links: 
     - postgres 

    mailhog: 
    image: mailhog/mailhog 
    ports: 
     - "8025:8025" 

PyCharm 인터프리터 구성 : 여기

docker-compose.yml입니다

나는 정말 도움을 주실 것입니다! 감사!

답변

1

문제의 원인을 찾았습니다. PyCharm 2016.3.2에서는 Entrypoint가 무시됩니다. 2016년 2월 3일에

Ticket on Jetbrains bugtracker

되 돌리면 PyCharm은 모든 작업을합니다.

+1

저는 PyCharm을 최신 버전 (2016.3.2)으로 업데이트했으며 작동합니다. 문제가 해결 된 것으로 보입니다. – miso