此问题在此处已有答案:
How do I access postgresql within Docker with sqlalchemy?(3个答案)
4小时前关门。
我试图为我的fastAPI应用程序创建一个Docker容器。然而,每当我尝试运行以下合成文件时,我都会收到此错误:
错误
第一个
当我第一次看到错误时,我以为我在容器的本地主机上运行数据库,但我检查了一下,数据库正在0.0.0.0:5432上运行。
第一次
停靠文件
FROM python:3.10
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
撰写.YAML
version: '3'
services:
api:
image: fastapilearning
depends_on:
- postgres
ports:
- 80:8000
environment:
- ACCESSTOKENEXPIREMINUTE=${ACCESSTOKENEXPIREMINUTE}
- ALGORITHM=${ALGORITHM}
- DATABASEHOSTNAME=${DATABASEHOSTNAME}
- DATABASENAME=${DATABASENAME}
- DATABASEPASSWORD=${DATABASEPASSWORD}
- DATABASEPORT=${DATABASEPORT}
- DATABASEUSERNAME=${DATABASEUSERNAME}
- SECRETKEY=${SECRETKEY}
command: /bin/bash -c "alembic upgrade head && uvicorn app.main:app --host 0.0.0.0 --port 8000"
postgres:
image: postgres
environment:
- POSTGRES_PASSWORD=${DATABASEPASSWORD}
- POSTGRES_DB=${DATABASENAME}
volumes:
- C:\Users\booruledie\Documents\Git\freecodecamp\dockerPostgresData\:/var/lib/postgresql/data
有什么问题吗?
我很确定源代码,因为当我尝试在本地机器上运行它时,我没有得到任何错误。
1条答案
按热度按时间jhdbpxl91#
很可能是PostgreSQL服务器未正确关闭。
请尝试:
您会看到:
然后关闭端口: