Docker+Django+Gunicorn+Nginx+Mysql容器化部署(上)

一、开发环境

  • CentOs==7
  • Docker==20.10.3
  • Docker-compose==1.25.5
  • Python==3.8
  • Django==3.1.0
  • Nginx==1.18.0
  • Mysql==5.7

二、为什么要用Docker

一般方式部署

以部署Django+Nginx+Mysql项目为例,我们在不使用容器技术(例如Docker)部署时,需要分别在服务器上安装PythonNginxMysql,需要执行十几条命令。而如果下次使用的服务器系统更换,比如从Linux换成Windows,则上次使用的命令就不管用了,不同系统使用的命令不一样,我们需要重新去学习部署。如果我们要同时部署多台服务器,并且系统环境不一样时,那么我们的工作量就会变得更大并且繁琐。

使用Docker部署

Docker是一个开源的应用容器引擎,它会将项目与项目运行所需要的环境一起打包进一个容器中,这个容器与外界隔绝,不管外界是Linux还是Windows环境,项目都可以在容器中从容运行。所以我们只需要学习如何在不同系统环境中使用Docker构建容器即可。

三、部署前准备

本次项目部署使用的服务器环境是Centos7,我们先在服务器上安装

  • Docker
  • Docker-compose

其中Docker-compose是Docker官方推出的用于编排、运行多个容器的工具,因为在项目中我们需要用到DjangoNginxMysql三个组件。虽然可以将三个组件安装到一个容器中,但是为了方便复用,更推荐将三个组件分别安装进一个独立的容器中,单独运行。

安装docker

1、卸载旧版本的docker和相关依赖项

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

2、安装依赖

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

3、配置稳定的repositories(此处是使用的官方源地址,如果慢的话,可以更换为国内地址,例如阿里云的地址:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo"

4、安装docker,安装完成后,可以通过 docker version 命令查看docker信息

sudo yum install docker-ce docker-ce-cli containerd.io

此处附上docker官方的安装文档: https://docs.docker.com/engine/install/centos/

安装docker-compose

1、安装docker-compose

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2、给docker-compose执行权限,可以通过 docker-compose --version 命令查看docker-compose信息

sudo chmod +x /usr/local/bin/docker-compose

此处附上docker-compose官方的安装文档: https://docs.docker.com/compose/install/

四、总结

本章内容简单介绍了使用docker部署项目的优势以及如何在Linux环境下安装Docker。有兴趣的同学可以关注公众号「码途有道」。下章内容将具体讲解如何使用docker构建容器来部署项目。最后附上常用的Docker操作命令:

  • docker ps -a:查看所有的容器状态
  • docker exec -it <容器名/容器ID> /bin/bash:进入正在运行的容器中
  • docker stop <容器名/容器ID>:停止正在运行的容器
  • docker rm <容器名/容器ID>:删除容器(只能删除停止运行的容器)
  • docker rmi <镜像名>:删除镜像
  • systemctl start docker.service:启动Docker服务
  • systemctl stop docker.service:停止Docker服务
  • systemctl restart docker.service:重启Docker服务
  • systemctl enable docker.service:将Docker服务配置为开机自启动
  • systemctl is-enabled docker.service:检查Docker服务是否开机自启动
  • systemctl disable docker.service:禁止Docker开机启动
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容