文档章节

05、docker化django

_Change_
 _Change_
发布于 10/23 16:04
字数 514
阅读 15
收藏 0

docker解决django+uwsgi问题.nginx的配置可以再拉一个镜像或用本机安装的nginx转发即可.

Docker构建:

docker build -t wp-api .

启动镜像

docker run -t -i -p 8001:9020 --sysctl net.core.somaxconn=4096 wp-api-test
  • -t -i 伪终端模式,调试问题用.调试完成后可以替换为-d 后台运行
  • -p 端口映射,uwsgi配置的端口是9020
  • --sysctl net.core.somaxconn=4096 修改docker系统的参数 uwsgi的listen大于128时,会报错.
项目文件结构:
wp-api
├── uwsgi.ini
├── templates
├── static
├── start.sh
├── requirements.txt
├── pip.conf
├── mypy.ini
├── manage.py
├── WorkPlatFormApi
│   ├── wsgi.py
│   ├── urls.py
│   ├── settings_ldap.py
│   ├── settings.py
│   ├── celery.py
│   ├── __init__.py
├── UserApp
│   ├── views.py
│   ├── urls.py
│   ├── tests.py
│   ├── models.py
│   ├── apps.py
│   ├── admin.py
│   ├── __init__.py
├── README.md
└── Dockerfile
Dockfile:
#当你写下FROM centos:7的时候,你就要想着,在这以后的每一步操作都是在centos 7系统镜像中进行的操作,
#你以前是怎么部署应用的,那么请按照你以前的步骤一步一步来就好。
FROM ubuntu:16.04
FROM python:3.7-stretch
#声明镜像制作者
MAINTAINER Hero<wanghua.zhou@leyantech.com>

USER root

# 拷贝当前目录到镜像中
WORKDIR /root/
COPY . /root/wp-api/

# 拷贝 pip 配置文件
COPY ./pip.conf .pip/pip.conf

# 安装python3.7必要的包,以及一些常用工具
RUN apt-get update
RUN apt-get install -y vim wget htop software-properties-common

# 安装语言包
RUN apt-get install -y locales

# Ensure that we always use UTF-8 and with Canadian English locale
RUN locale-gen en_CA.UTF-8

## 安装python3开发环境
RUN apt-get update
RUN apt-get install -y python3-dev
RUN apt-get install libevent-dev
RUN apt-get install libsasl2-dev
RUN apt-get install libldap2-dev
RUN apt-get install -y libssl-dev


# 安装 django uwsgi 等项目依赖
WORKDIR /root/wp-api
RUN apt-get install -y uwsgi
RUN apt-get install -y gcc build-essential make
RUN pip3 install -r requirements.txt


# print()时在控制台显示中文
ENV PYTHONIOENCODING=utf-8

# support Chinese
ENV LC_ALL=en_CA.UTF-8
ENV LANG=en_CA.UTF-8
ENV LANGUAGE=en_CA.UTF-8

# 解决运行shell的权限问题
RUN chmod 777 ./start.sh
CMD ./start.sh
start.sh
#!/bin/sh
uwsgi --ini uwsgi.ini

uwsgi.ini
[uwsgi]
http = :9020
socket = uwsgi.sock
chdir =/root/wp-api
wsgi-file = WorkPlatFormApi/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9195
vacuum = true
chmod-socket = 666
enable-threads = true
listen = 1024

© 著作权归作者所有

_Change_
粉丝 20
博文 173
码字总数 94480
作品 0
普陀
QA/测试工程师
私信 提问
DRYCC Workflow v1.3.0 版本发布

DRYCC是受欢迎的PaaS服务DEIS的一个社区分支。 自从微软收购了DEIS团队,它已经停止更新,所以我们决定努力建立一个全新的开放的开发者社区,我们邀请所有人加入我们,帮助建立下一代PaaS云服...

段洪义
07/02
931
0
如何 Docker 化 Python Django 应用程序

Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建、打包为一个轻量级容器,并在任何地方运行。Docker 会在软件容器中自动部署应用程序。 Django 是一个...

06%
2018/09/12
0
0
如何使用 Docker 组件开发 Django 项目?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。自2013年发布以来,无论是从 Github...

OneAPM蓝海讯通
2015/07/15
3.2K
2
Docker18.02 + Django2.0 + MySQL + phpmyadmin

利用Docker创建 Django 2.0 + MySQL + phpmyadmin 的开发环境 新建一个文件夹 如 django-web02 Dockerfile requirements.txt docker-compose.yml 目录结构 docker-compose build docker-comp......

2010jing
2018/03/23
0
0
开篇:HelloDjango!Django全栈开发系列教程

HelloDjango!Django全栈开发系列教程 欢迎 追梦 入伙 HelloGitHub-Team,同时为我们带来了完全免费的 HelloDjango 系列教程,全网首发于 HelloGitHub 公众号。让想你的系列文章被跟多人看到...

HelloGitHub
07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

直击JDD | 陈生强:京东数科的底层是数字化操作系统

11月19日,由京东集团主办的JDD-2019京东全球科技探索者大会在京开幕,京东数字科技集团CEO陈生强作了题为“以科技为美,为价值而生”的主旨发言,再论“数字科技”,向与会嘉宾分享了京东数...

京东云技术新知
24分钟前
4
0
MVC、MVP、MVVM的定义的理解

1.MVC 即Model(模型层)、View(视图层)、Control(控制层),Model与VC分离(VC在一起),Model获取数据与业务处理(方便复用),View视图控制、Control处理逻辑。交互(数据传递)用回调...

Coding缘
39分钟前
3
0
ts结合vue 常用的目录结构

typescript在.vue中的写法 使用typescript会让你的代码结构看起来更明朗 原vue写法 import {mapGetters, mapActions} from 'vuex'import tree from './components/all/tree/tree.vue'ex......

不负好时光
40分钟前
4
0
TI达芬奇系列TMS320DM8148浮点DSP C674x + ARM Cortex-A8JTAG仿真器接口、风扇接口

由广州创龙设计的SOM-TL8148和SOM-TL8127核心板是Pin To Pin兼容,两款核心板公用同一块底板。DM8148与DM8127相比,DM8148有SATA接口,DM8127没有SATA接口;而DM8127有CSI2接口,DM8148没有。...

Tronlong创龙
42分钟前
4
0
springmvc注解开发

ps : 这东西比较简单,用来为我们使用springboot打基础 一 : 工程搭建 (一) 导包 <!-- servlet --><dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</......

扑克心
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部