如何解决在 CircleCI 上运行 Django - psycopg2.OperationalError:无法连接到服务器:连接被拒绝
希望你没事: 当我尝试将 django 与 circleCI 和 postgres 一起使用时,我收到了上述错误(在完整错误之下),我的 settings.py 数据库配置如下:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis','NAME':'default_db','USERNAME':'postgres','PASSWORD':'default_pass','HOST':'localhost','PORT':'5432',}
}
在 circleCI config.yml 上:
version: 2.1
orbs:
python: circleci/python@1.2
jobs:
build:
docker:
- image: cimg/python:3.8
environment:
DATABSE_URL: postgresql://root@localhost/circleci_test?sslmode=disable
steps:
- checkout
- python/install-packages:
pkg-manager: pip
- run: |
sudo apt update && sudo apt install -y binutils libproj-dev gdal-bin python3-gdal
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
db:
docker:
- image: circleci/postgres:latest-postgis
environment:
- POSTGRES_USER=root
- POSTGRES_DBNAME=circleci_test
steps:
- checkout
test:
docker:
- image: cimg/python:3.8
steps:
- checkout
- run: |
. venv/bin/activate
python manage.py test
workflows:
main:
jobs:
- db
- build:
requires:
- db
- test:
requires:
- build
从之前的问题来看,似乎在 docker 中运行 postgres 时,可能存在一些关于端口的问题,因为 postgres 也在本地运行,但我不知道这里是否是同样的情况,任何帮助将不胜感激。
>- circleCI 执行器:docker。
- circleCI 数据库镜像:circleci/postgres:latest-postgis
- 完整的错误: psycopg2.OperationalError:无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口 5432 上的 TCP/IP 连接? 无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口 5432 上的 TCP/IP 连接? 无法连接到服务器:无法分配请求的地址 服务器是否在主机“localhost”(::1) 上运行并接受 端口 5432 上的 TCP/IP 连接?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。