6.Docker-Compose搭建Django和PostgreSQL开发的步骤(Ubuntu)
项目准备
1.创建一个空文件夹,文件夹的名称选一个自己喜欢的名称,示例中为code
mkdir code
2.在code文件夹中创建Dockerfile并添加内容,然后保存关闭
cd code
touch Dockerfile
FROM python:3.9-slim-buster
ENV PYTHONUNBUFFERED=1
WORKDIR /code
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
apt-get update && apt-get install -y gcc python3-dev libpq-dev
COPY requirements.txt /code/
RUN pip install pip -U && \
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
COPY . /code/
3.创建requirements.txt并添加依赖,然后保存关闭
touch requirements.txt
Django>=3.0,<4.0
psycopg2>=2.8
4.创建docker-compose.yml并添加各种服务,然后保存关闭
touch docker-compose.yml
version: "3.9"
services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
创建项目
1.创建名称为mysite的项目
sudo docker-compose run web django-admin startproject mysite .
2.配置项目文件权限
sudo chown -R $USER:$USER .
连接数据库
1.打开mysite/settings.py文件并替换以下内容
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
ALLOWED_HOSTS = ['*']
2.切换到文件夹code,启动容器
docker-compose up
恭喜您,大功告成,现在打开 http://0.0.0.0:8000/ 吧。
3.如果需要关闭容器,运行以下命令
docker-compose down
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonenv/2996.html