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

发表评论

邮箱地址不会被公开。 必填项已用*标注