确认Postgres Alpine容器是否已启动并正在运行。可使用docker ps命令检查容器状态。
确认app-psql是否正确配置了Postgres Alpine容器的连接参数,如数据库名称、用户名、密码等。
可尝试重新构建app-psql镜像,确保Dockerfile文件中使用了正确的Postgres Alpine基础镜像。
以下是一个示例的Dockerfile:
FROM postgres:alpine
# 拷贝数据库初始化脚本
COPY init.sql /docker-entrypoint-initdb.d/
# 安装psql客户端
RUN apk update && apk add --no-cache postgresql-client
import psycopg2
def connect():
conn = psycopg2.connect(
host="localhost",
database="mydb",
user="myuser",
password="mypassword"
)
return conn
def test_connection():
try:
conn = connect()
cur = conn.cursor()
cur.execute("SELECT 1;")
res = cur.fetchone()[0]
print(f"Test connection success: {res}")
except Exception as e:
print(f"Test connection failed: {e}")