docker 部署django项目(nginx + uwsgi +mysql)
最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高。特此写下随笔与小伙伴们分享,希望能对大家有所启发。
docker的理论我就不赘述了,直接上干菜吧。
本人django项目目录结构:
xxx_project:
apps
app1
app2
app3
extra_apps
xadmin
ueditor
xxx_project
settings.py
urls.py
wsgi.py
templates
xxx.html
requirements.txt
manage.py
static
media
conf
uwsgi.ini
nginx
Dockerfile
nginx.conf
uc_nginx.conf
Dockerfile
docker-compose.yml
docker-entrypoins.sh
1.首先上docker-compose.yml配置文件
version: '3'
services:
db:
image: mysql:5.7
expose:
- 3306
environment:
MYSQL_DATABASE: xxxxxx
MYSQL_ROOT_PASSWORD: xxxxxx
MYSQL_USER: root
volumes:
- ./mycustom.cnf:/etc/mysql/conf.d/custom.cnf
- ~/containers/mysql/data:/var/lib/mysql
web:
build: .
restart: always
command: uwsgi -i ./conf/uwsgi.ini
volumes:
- .:/docker_api
ports:
- 8000:8000
depends_on:
- db
links:
- db
nginx:
container_name: nginx-container
restart: always
depends_on:
- web
build: ./nginx
ports:
- 8080:80
volumes:
- .:/docker_api ~
注:db 数据库
web 项目
nginx 代理服务器
2.现在上web的Dockerfile配置文件
FROM python:2.7.12
LABEL maintainer 0x0101010
ENV PYTHONUNBUFFERED 1
RUN mkdir /docker_api
WORKDIR /docker_api
ADD . /docker_api
RUN pip install --upgrade pip
RUN pip install -i https://pypi.douban.com/simple -r requirements.txt
3.现在上nginx的Dockerfile
FROM nginx:latest
COPY uc_nginx.conf /etc/nginx/sites-available/ RUN mkdir -p /etc/nginx/sites-enabled/\
&& ln -s /etc/nginx/sites-available/uc_nginx.conf /etc/nginx/sites-enabled/ CMD ["nginx", "-g", "daemon off;"]
4. nginx 和uwsgi的配置就不在赘述,本人前一篇随笔有详细讲解,可参考
5.项目启动
sudo docker-compose up --build


部署成功
至此,项目已通过docker-compose 部署成功,希望对大家有所启发,如果在部署中遇到问题可以留言,一起讨论。同时也希望大神评论指教。
docker 部署django项目(nginx + uwsgi +mysql)的更多相关文章
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- 云服务器部署Python项目(nginx+uwsgi+mysql+项目)
python项目部署到云服务器 关注公众号"轻松学编程"了解更多. 一.硬件准备 云服务器,系统ubuntu_16_04 . 注意:要在安全组中开放Http的80端口. 二.软件准 ...
- Docker 部署Django项目
使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [root@opsweb]# tree opsweb opsw ...
- 云服务器上利用Docker部署Django项目
转载别人的,请看下面链接 云服务器上利用Docker部署Django项目
- 在centos8使用Docker部署Django项目
引言 在本文中将介绍在Docker中通过django + uwsgi + nginx部署方式部署Django项目, 由于记录的是学习过程,使用的都是目前较高的版本. python 版本为3.8.3 d ...
- 打造专属测试平台4-使用Docker部署Django项目
编写完项目代码后,为了稳定的运行,需要将其部署至服务器.这里我选择了Docker去部署Django后端代码. 首先来看看Runoob对Docker的介绍: Docker 是一个开源的应用容器引擎,基于 ...
- [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器
部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...
- SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)
0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...
随机推荐
- win10 uwp 商业游戏
本文告诉大家去做一个商业游戏,游戏很简单,几乎没有什么技术 游戏的开始,需要添加框架库,于是引用我自己写的库. 首先是创建一个启动页面,这个页面是显示启动的. 在显示启动的时候,是需要加载游戏需要使用 ...
- Emgucv(二)Emgucv和Aforge录制视频
一.Emgucv录制视频 Emgucv中的Capture类可以完成视频文件的读取,利用EmguCV播放视频的原理是:将视频看作图片,用capture获取抓取通道,通过不断的调用{frame = cap ...
- [日常] nginx与HTTP cache
去年的事,随便记记 =============================================================2017年12月11日 记录: nginx缓存:ngx_h ...
- 【基于初学者的SSH】struts2 的拦截器、令牌的简单应用及理解
一:拦截器与过滤器类似,但是它们的区别也很大: 01):过滤器理论上可以过滤任意内容,比如HTML,servlet,jsp,图片路径 02):拦截器只可以拦截action. 二:拦截器的原理 act ...
- 解决post请求乱码问题
将下面配置信息配置在webapp/WEB-INF/web.xml中 <!-- 解决post乱码 --><filter> <filter-name>Character ...
- 纪念Vamai
知道Vamei这位博主去世的消息有些日子啦,在他的豆瓣主页也留下了只言片语,他写的协议森林让我印象深刻,在博客园也是我关注列表里的一位. 本来没打算写一篇文来说Vamei去世的事情,不过意外之是加 ...
- front-end 前端发展学习路线参考图
front-end 前端发展学习路线参考图 学习的路程还很长~!
- js-权威指南学习笔记13
第十三章 Web浏览器中的JavaScript 1.在客户端JS中,window对象也是全局对象. 2.window对象中其中一个最重要的属性是document,它引用Document对象. 3.JS ...
- 【node】fs模块,文件和目录的操作
检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...
- linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
redhat使用yum需要付费yum安装的也是rpm包 centos的网络yum源默认已经配置好了,连接的是centos官方yum源,在国外,网速慢 yum源配置在/etc/yum.repos.d下 ...