Docker Compose编排DjangoMySQL应用程序

Docker Compose编排Django/MySQL应用程序

Docker Compose主要用于编排多个服务。

给出一个部署Django框架的示例,示范如何使用Docker Compose建立和运行一个简单的Django/MySQL应用程序。

(1)定义项目组件

项目中需要创建一个Dockerfile文件、一个Python依赖文件和一个名为docker-compose.yml的Compose文件。

① 创建一个空的项目目录。

[root@lh2022 Docker]# pwd
/root/Docker
[root@lh2022 Docker]# mkdir django-mysql && cd django-mysql
[root@lh2022 django-mysql]# pwd
/root/Docker/django-mysql

② 在项目目录下创建并编辑Dockerfile文件

[root@lh2022 django-mysql]# ls
[root@lh2022 django-mysql]# cat > Dockerfile << EOF
# 从Python 3.9父镜像开始
FROM python:3.9
ENV PYTHONUNBUFFERED 1

# 在镜像中添加code目录
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/

# 在镜像中安装由requirements.txt文件指定要安装的Python依赖
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

COPY . /code/
EOF
[root@lh2022 django-mysql]# ls
Dockerfile

③ 继续在该项目目录下创建并编辑requirements.txt文件。

[root@lh2022 django-mysql]# cat > requirements.txt << EOF
django==4.2
mysqlclient
EOF
[root@lh2022 django-mysql]# ls
Dockerfile  requirements.txt

④ 继续在该项目目录下创建并编辑docker-compose.yml文件。

[root@lh2022 django-mysql]# cat > docker-compose.yml << EOF
version: '3'

services:
  db:
    image: mysql:8
    restart: always
    ports:
      - "3307:3306"
  # 修改加密方式
    command: --default-authentication-plugin=mysql_native_password --mysqlx=0
    volumes:
      - ./mysql:/var/lib/mysql
    #设置容器环境变量
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=demodb

  web:
    restart: always
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

volumes:
  db_data:

EOF
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多练项目

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值