Docker django 部署
2018-01-13 11:37
375 查看
Docker django 部署
最近研究了一下如何用docker 打包django后台程序,记录一下踩到的坑,留给自己以后查看,如有错误欢迎各位大神指正。这里记录一下最简单的,只是打包一个django后台,不涉及restful api 和数据库的连接。
用到的包:
django、docker、gunicorn、nginx
这里我们使用gunicorn来运行django的项目。
目录结构:
. ├── README.md ├── docker-compose.yml ├── nginx │ ├── Dockerfile │ └── sites-enabled │ └── django_project └── web ├── Dockerfile ├── backend │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── db.sqlite3 ├── manage.py ├── requirements.txt ├── static ├── index.html └── main.css
docker-compose.yml
web: restart: always build: ./web expose: - "8000" # 暴露出8000端口,可以按照自己的需要修改 volumes: - /usr/src/app - /usr/src/app/static env_file: .env environment: DEBUG: 'true' command: /usr/local/bin/gunicorn backend.wsgi:application -w 2 -b :8000 # 运行django nginx: restart: always build: ./nginx/ ports: - "80:80" volumes: - /www/static volumes_from: - web links: - web:web # 这里设置可以访问到web容器的内容
./nginx/Dockerfile
nginx 的配置文件在这里不展开了。
FROM tutum/nginx RUN rm /etc/nginx/sites-enabled/default ADD sites-enabled/ /etc/nginx/sites-enabled
./web/Dockerfile
这里我们利用Python3.5来构建项目。如果其他版本可以修改此文件
FROM python:3.5-onbuild
后面关于django的其他文件在这里我不做过多的描述了。
运行方式
docker-compose build docker-compose up -d
相关文章推荐
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
- 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
- 在Docker中部署django
- Docker入门,如何部署Django uwsgi nginx应用
- Docker-compose部署Django+MySQL环境
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
- 从零开始自动部署Django项目(四): 在Docker中部署Django项目
- Docker部署Web应用(Django)
- 使用Docker搭建Django,Nginx,R,Python部署环境
- 使用Docker搭建Django,Nginx,R,Python部署环境的方法
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
- docker django部署
- docker 脚本方式搭建多容器的django部署环境
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
- docker6 部署Nginx django mysql
- Docker之django+mysql简单部署示例
- Docker之docker-compose部署django+mysql示例
- docker中部署django项目-静态文件访问
- Docker部署Django应用的示例
- Docker部署Sentry+Django(无法收到告警邮件解决)