我希望你能协助我将我的Django-postgres应用程序进行Docker化。 我的Dockerfile文件如下:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
我的docker-compose.yml文件如下:
version: '3'
services:
web:
build: .
command: python app/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: password
我的settings.py文件中有以下数据库代码:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'password',
'HOST': '0.0.0.0',
'PORT': '5432',
}
}
我的数据库和web容器已经启动,但是当我运行以下命令:
docker-compose run web python manage.py migrate时出现了错误:
psycopg2.OperationalError: could not connect to server: Connection refused Is the server running on host "0.0.0.0" and accepting TCP/IP connections on port 5432?
我应该怎么让我的容器之间通信呢?
localhost:5432
- LinPylocalhost:5432/api/
访问它。由于某种原因,这似乎不起作用。netstat -ant | find“8000”
和netstat -ant | find“5432”
都为空。 - Sprookdlocalhost:8000/api/…
,但它不起作用。 - Sprookd