docker撰写无法连接postgresql数据库与Django
我的django应用程序无法连接到postgresql。 我使用Django的Dockerfile,并使用docker-compose和postgres官方图像构build。
泊坞窗,compose.yml
version: '2' services: db: image: eg_postgresql expose: - 5432 environment: - POSTGRES_PASSWORD=docker - POSTGRES_USER=docker - POSTGRES_DB=postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: - .:/test_application ports: - "8000:8000" links: - "db:db" environment: - DATABASE_URL=postgres://docker:docker@db:5432/postgres - DJANGO_SECRET_KEY=x7-g-xu^h5k%h8860!7ksn=@)7q9frn9_l6tmefvf)y=0)d!uh
输出:
conn = _connect(dsn, connection_factory=connection_factory, **kwasync) django.db.utils.OperationalError: could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? could not connect to server: Cannot assign requested address Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?
docker-compose ps
ubuntu@ip-172-31-7-117:~/dj1/helloworld$ sudo docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------- helloworld_db_1 /usr/lib/postgresql/9.3/bi ... Up 5432/tcp helloworld_web_1 python3 manage.py runserve ... Up 0.0.0.0:8000->8000/tcp
在应用程序settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'postgres', 'USER': 'docker', 'PASSWORD': 'docker', 'HOST': 'db', 'PORT': '5432', } }
我尝试了很多方法来连接,但问题是一样的…
尝试更换公开: – 5432您的数据库服务与端口 – “5432:5432”
- 如何使用/链接远程postgres数据库与Django泊坞窗实施
- Docker + Django + Angular + Heroku + Postgresql – 进程退出状态127,错误代码= H10 desc =“应用程序崩溃”
- Python中的AWS Elastic Beanstalk container_commands 3.4 Docker容器
- 如何将Emacs的Elpy in-buffer python解释器连接到docker容器?
- docker-compose与Dokerfile入口点脚本冲突
- 您正在通过HTTPS访问开发服务器,但仅在使用Docker时支持HTTP
- 在Docker中debuggingDjango代码
- 关键工人超时错误在gunicorn django
- 用Django设置Sentry