docker-compose 发布django 项目

docker-compose 介绍

Docker Compose是Docker编排服务的一部分,Compose可以让用户在集群中部署分布式应用。Docker Compose是一个属于“应用层”的服务,用户可以定义哪个容器组运行哪个应用,它支持动态改变应用,并在需要时扩展。

通过 python3+uwsgi+nginx+redis+mysql 中间件运行Django 项目,运行成功后截图如下

运行效果

 项目目录

compose 文件夹内容

./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

./compose/mysql/init/init.sql

 # compose/mysql/init/init.sql
 GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "p@ssw0rdwcx";
 FLUSH PRIVILEGES;

./compose/nginx/Dockerfile

 # nginx镜像compose/nginx/Dockerfile

FROM nginx:latest

 # 删除原有配置文件,创建静态资源文件夹和ssl证书保存文件夹
RUN rm /etc/nginx/conf.d/default.conf \
 && mkdir -p /usr/share/nginx/html/static \
 && mkdir -p /usr/share/nginx/html/media \
 && mkdir -p /usr/share/nginx/ssl

 # 设置Media文件夹用户和用户组为Linux默认www-data, 并给予可读和可执行权限,
 # 否则用户上传的图片无法正确显示。
RUN chown -R www-data:www-data /usr/share/nginx/html/media \
 && chmod -R 775 /usr/share/nginx/html/media

 # 添加配置文件
ADD ./nginx.conf /etc/nginx/conf.d/

 # 关闭守护模式
CMD ["nginx", "-g", "daemon off;"]

 ./compose/nginx/nginx.conf

 # nginx配置文件
 # compose/nginx/nginx.conf

upstream sobase {
    server web:
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值