在容器技术中使用docker-compose部署Django全过程

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

部署图片如下了!!!

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Docker Compose 来部署 Django 项目,以下是一些简单的步骤: 1. 创建一个 Dockerfile 文件,指定基础镜像和项目文件的拷贝方式。例如: ``` FROM python:3.8 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code COPY requirements.txt /code/ RUN pip install -r requirements.txt COPY . /code/ ``` 2. 创建一个 docker-compose.yml 文件,定义服务和它们的配置。例如: ``` version: '3' services: db: image: postgres environment: POSTGRES_DB: myproject POSTGRES_USER: myprojectuser POSTGRES_PASSWORD: myprojectpassword web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db ``` 在这个例子,我们定义了两个服务:一个是数据库服务,另一个是 Django Web 服务。我们使用 Postgres 镜像来作为数据库,并且指定了环境变量来设置数据库的名字、用户名和密码。在 Web 服务,我们指定了 Dockerfile 的路径,以及运行 Django 服务器的命令和端口映射。同时,我们还指定了这个服务依赖于数据库服务。 3. 运行 docker-compose 命令来启动服务。例如: ``` docker-compose up ``` 这个命令会自动构建镜像、创建容器并启动服务。你可以在浏览器访问 `http://localhost:8000` 来查看 Django 项目。 这只是一个简单的例子,你可能需要根据自己的项目结构和需求来做一些调整。但是,使用 Docker Compose 部署 Django 项目可以简化部署流程,并且可以方便地在不同环境部署和迁移。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值