1.创建项目目录并切换到项目目录
[root@xingming ~]# mkdir django-pg && cd django-pg
2.创建并对Dockerfile文件进行编辑
[root@xingming django-pg]# vi Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
#在镜像中添加code目录
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
#在镜像中安装由requirements.txt文件指定要安装的Python依赖
RUN pip install -r requirements.txt
COPY . /code/
3.创建并编辑requirements.txt文件
[root@xingming django-pg]# vi requirements.txt
Django>=2.0,<3.0
psycopg2>=2.7,<3.0
4.创建并编辑docker-compose文件
[root@xingming django-pg]# vi docker-compose.yml
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- db_data:/var/lib/postgresql
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes:
db_data: {}
5.做到这一步需要对系统进行升级和重启(考虑到系统版本问题)
[root@xingming django-pg]# yum -y upgrade
[root@xingming django-pg]# reboot
6.再次切换到项目目录下
[root@xingming ~]# cd django-pg
7.使用docker-compose run 命令对Django进行创建(前提是在项目目录下)
[root@xingming django-pg]# docker-compose run web django-admin startproject xingming1 .
8.授予文件所有者权限(并对其进行查看)
[root@xingming django-pg]# ll
总用量 16
-rw-r--r-- 1 root root 270 3月 9 06:39 docker-compose.yml
-rw-r--r-- 1 root root 251 3月 9 06:38 Dockerfile
drwxr-xr-x 2 root root 74 5月 16 11:01 xingming1
-rwxr-xr-x 1 root root 632 5月 16 11:01 manage.py
-rw-r--r-- 1 root root 36 3月 9 06:39 requirements.txt
[root@xingming django-pg]# chown -R $USER:$USER .
[root@xingming django-pg]# ll
总用量 16
-rw-r--r-- 1 root root 270 3月 9 06:39 docker-compose.yml
-rw-r--r-- 1 root root 251 3月 9 06:38 Dockerfile
drwxr-xr-x 2 root root 74 5月 16 11:01 xingming1
-rwxr-xr-x 1 root root 632 5月 16 11:01 manage.py
-rw-r--r-- 1 root root 36 3月 9 06:39 requirements.txt
8.连接Django数据库
(1)切换路径
[root@xingming django-pg]# cd xingming1
(2)修改文件settings.py中的字段(共有两个字段)
[root@xingming xingming1]# vi settings.py
第一个字段DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': '5432',
}
}
第二个字段
ALLOWED_HOSTS = ["你的ip"]
9.切换到项目目录下
(1)[root@xingming xingming1]# cd ..
(2)执行docker-compose up 命令
[root@xingming django-pg]# docker-compose up
(3)最后输入ip:8000访问Django
192.168.25.11:8000
部署图片如下了!!!