docker安装django mysql_docker 部署django项目(nginx + uwsgi +mysql)

本文分享了使用docker-compose部署Django项目的全过程,包括配置docker-compose.yml、web的Dockerfile以及nginx的Dockerfile。项目结构清晰,详细解释了每个服务的作用,如db(数据库)、web(项目)和nginx(代理服务器)。通过sudo docker-compose up --build命令成功部署。希望能帮助读者理解并解决部署中可能遇到的问题。
摘要由CSDN通过智能技术生成

最近在学习用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.7expose:

-3306environment:

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:8000depends_on:

- db

links:

- db

nginx:

container_name: nginx-container

restart: always

depends_on:

- web

build: ./nginx

ports:

-8080:80volumes:

- .:/docker_api

~

注:db 数据库

web 项目

nginx 代理服务器

2.现在上web的Dockerfile配置文件

FROM python:2.7.12

LABEL maintainer 0x0101010

ENV PYTHONUNBUFFERED 1

RUNmkdir /docker_apiWORKDIR/docker_apiADD. /docker_apiRUNpip install --upgrade pipRUN pip install -i https://pypi.douban.com/simple -r requirements.txt

3.现在上nginx的Dockerfile

FROMnginx:latestCOPYuc_nginx.conf /etc/nginx/sites-available/RUNmkdir -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

74f1b2477b3e430c4dca5186039d3e7e.png

fafc402f88ae870f9369a355693b06a5.png

部署成功

至此,项目已通过docker-compose 部署成功,希望对大家有所启发,如果在部署中遇到问题可以留言,一起讨论。同时也希望大神评论指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值