使用docker部署django项目也很简单,挺不错,分享下

环境

默认你已安装好docker环境

django项目大概结构

(p3s) [root@opsweb]# tree opsweb
opsweb
├── apps
├── logs
├── manage.py
├── media
├── opsweb
├── README.md
├── requirements.txt
└── static

编写Dockerfile

这里指定 Python 版本为docker官方提供的

"0.0.0.0:8000" 这里笔者开启容器中 8000 端口

FROM python:3.6
RUN mkdir -p /usr/src/app
COPY pip.conf /root/.pip/pip.conf
COPY opsweb /usr/src/app/
COPY run_web.sh /usr/src/app/
RUN pip install -r /usr/src/app/requirements.txt
WORKDIR /usr/src/app
CMD [ "sh", "./run_web.sh"]

编写pip文件

这里是为了使用镜像 pip install速度快些 使用阿里云源

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

完整目录结构

[root@opsweb]# ls
Dockerfile opsweb pip.conf run_web.sh

build镜像

docker build -t ops:v0.1 .
Sending build context to Docker daemon 4.849 MB
Step 1 : FROM python:3.6
---> 3e4c2972dc8d
Step 2 : RUN mkdir -p /usr/src/app
---> Running in 8ddd929f5c18
---> 89dc0a1ffdf0
Removing intermediate container 8ddd929f5c18
Step 3 : COPY pip.conf /root/.pip/pip.conf
---> 5a4a165fed90
Removing intermediate container 37f3fdc7e5d2
Step 4 : COPY opsweb /usr/src/app/opsweb
---> f602e72ffd4c
Removing intermediate container 8d4bb616916d
Step 5 : COPY opsweb/requirements.txt /usr/src/app/
---> 6fe11a6fcbe0
Removing intermediate container faeadee32fed
Step 6 : RUN pip install -r /usr/src/app/requirements.txt
---> cc09c17d53da
Removing intermediate container d7b45bec6993
Step 7 : WORKDIR /usr/src/app
---> Running in c22dfdddbe81
---> c5c944b6df45
Removing intermediate container c22dfdddbe81
Step 8 : CMD python ./manage.py runserver 0.0.0.0:8000
---> Running in 29d5f0f53f6e
---> 10d37173fd13
Removing intermediate container 29d5f0f53f6e
Successfully built 10d37173fd13

结语

这样镜像就build好了,然后你可以直接docker run -p8000:8000 ops:v0.1 -d启动就行,或者也可以部署到k8s上去 也很简单 这里就不细讲了。

Docker 部署Django项目的更多相关文章

  1. docker 部署django项目(nginx + uwsgi +mysql)

    最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...

  2. 云服务器上利用Docker部署Django项目

    转载别人的,请看下面链接 云服务器上利用Docker部署Django项目

  3. 在centos8使用Docker部署Django项目

    引言 在本文中将介绍在Docker中通过django + uwsgi + nginx部署方式部署Django项目, 由于记录的是学习过程,使用的都是目前较高的版本. python 版本为3.8.3 d ...

  4. 打造专属测试平台4-使用Docker部署Django项目

    编写完项目代码后,为了稳定的运行,需要将其部署至服务器.这里我选择了Docker去部署Django后端代码. 首先来看看Runoob对Docker的介绍: Docker 是一个开源的应用容器引擎,基于 ...

  5. Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery

    前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...

  6. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  7. 笔记14:Docker 部署Python项目

    Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...

  8. nginx + uwsgi 部署django项目

    因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...

  9. k8s-生产环境部署django项目k8s-dashboard管理系统

    1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...

随机推荐

  1. 配置Java运行环境

    变量名:JAVA_HOME    变量值:D:\Program Files\Java\jdk1.8.0_151(java安装目录) 变量名:Path                  变量值:.;%J ...

  2. 二十、Flyweight 享元模式

    原理: 代码清单: BigChar public class BigChar { //字符名称 private char charname; //大型字符 # . \n 组成 private Stri ...

  3. 《CSAPP》页表、页命中、缺页

    页表 虚拟存储器系统需要某种方法来判定一个虚拟页是否在DRAM的某个地方. 这些功能由操作系统.存储器管理单元(MMU)中的地址翻译硬件和一个存放在物理存储器中的页表数据结构联合提供. 功能 将虚拟页 ...

  4. poj 1639 最小k度限制生成树

    题目链接:https://vjudge.net/problem 题意: 给各位看一下题意,算法详解看下面大佬博客吧,写的很好. 参考博客:最小k度限制生成树 - chty - 博客园  https:/ ...

  5. select2清除选择(选择框内的值)

    首先清空option很简单:$("#select2_id").empty();但是这样清除了之后,选中的值仍然在文本框里显示着: 这个功能很小,只是一个函数的问题,之所以写这篇文章 ...

  6. IIS上配置单页面404

    问题 因为我们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx.com/user时,刷新页面的时候,会返回404错误. 问题原因 服务端URL匹配不到相应的路由资源 解决方案 ...

  7. easyui Tree树形控件的异步加载

    Tree控件 $('#partyOrgTree').tree({ checkbox: false, url: getDataUrl, onClick: function (node) { getDiv ...

  8. 利用Linux信号SIGUSR1调试程序

    Linux嵌入式由于诸多的限制,调试方法有限,常常出现面对Bug束手无策的情况,现在介绍一种通过信号处理对Linux嵌入式应用程序进行调试的方法. linux中一共有32种信号,在/usr/inclu ...

  9. osg探究补充:osg数据加载原理(插件机制简介)

    前言 我们接着昨天的继续,昨天主要是讲解了DatabasePager类中的特定的成员变量以及run函数的第一部分,对所要请求加载的数据按照是否是网络数据进行分类加载模式.今天我们就看看数据是怎们加载到 ...

  10. zeromq学习记录(三)使用ZMQ_PULL ZMQ_PUSH

    /************************************************************** 技术博客 http://www.cnblogs.com/itdef/   ...