docker-compose 发布Django 项目
docker-compose介绍
Docker Compose是Docker编排服务的一部分,Compose可以让用户在集群中部署分布式应用。 Docker Compose是一个属于“应用层”的服务,用户可以定义哪个容器组运行哪个应用,它支持动态改变应用,并在需要时扩展
运行效果
一. 发布思路
1.拉取django 项目依赖的中间件(python3+Uwsgi+Nginx+MySQL+Redis)
2.使用Dockerfile 打包项目
二. 正式开始
1.在项目添加以下文件夹目录
三. 文件内容
1./compose/mysql/conf/my.cnf
# compose/mysql/conf/my.cnf [mysqld] user=mysql default-storage-engine=INNODB character-set-server=utf8 port = 3306 # 端口与docker-compose里映射端口保持一致 #bind-address= localhost #一定要注释掉,mysql所在容器和django所在容器不同IP basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock skip-name-resolve # 这个参数是禁止域名解析的,远程访问推荐开启skip_name_resolve。 [client] port = 3306 default-character-set=utf8 [mysql] no-auto-rehash default-character-set=utf8
2./compose/mysql/init/init.sql
3./compose/nginx/Dockerfile
4./compose/nginx/nginx.conf
5./compose/redis/redis.conf
6./SOBase/Dockerfile
# SOBase/Dockerfile # 建立 python3.7 环境 FROM python:3.7 # 镜像作者cx MAINTAINER cx # 设置 python 环境变量 ENV PYTHONUNBUFFERED 1 COPY pip.conf /root/.pip/pip.conf # 创建 SOBase 文件夹 RUN mkdir -p /smartOffice/SOBase # 将 SOBase 文件夹为工作目录 WORKDIR /smartOffice/SOBase # 将当前目录加入到工作目录中(. 表示当前目录) ADD . /smartOffice/SOBase # 更新pip版本 RUN /usr/local/bin/python -m pip install --upgrade pip # 利用 pip 安装依赖 RUN pip install -r requirements.txt # 去除windows系统编辑文件中多余的\r回车空格 RUN sed -i 's/\r//' ./start.sh # 给start.sh可执行权限 RUN chmod +x ./start.sh
7./SOBase/pip.conf
8./SOBase/start.sh
9./SOBase/uwsgi.ini
10./SOBase/docker-compose.yaml
第三步:使用docker-compose 构建镜像并启动容器组服务
第四步:进入web容器内执行Django命令并启动uwsgi服务器
第五步:查看服务是否正常运行





浙公网安备 33010602011771号