I have django-cookiecutter template setup with docker & docker-composer. It comes with preconfigured django management commands (runserver, migrate, etc.)
When I'm trying to use any of those I get the following:
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"?
The docker-compose up
working very well.
Here is the docker-compose.yml
:
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 interpreter configuration:
django docker-compose
service interpreter
pycharm docker-compose
service interpreter
Once again, everything seems working like a charm but not in PyCharm :(
I would really appreciate any help! Thanks!
Found the source of the problem. Entrypoint is ignored by PyCharm 2016.3.2.
Ticket on Jetbrains bugtracker
Reverting PyCharm to 2016.2.3 makes everything work.