使用docker部署Django项目步骤

docker部署Django应用

方式一:基于python基础镜像

# 第一种方式:基于python基础镜像来做
cd /home
mkdir myproject
cd myproject

docker run -di --name=myproject -p 8080:8080 -v /home/myproject:/home python:3.6

#mac/linux    window:xshell拖进去
scp django_test.zip [email protected]:/home/myproject
# 解压:uzip (安装)yum install -y unzip zip

# 进入容器I
docker exec -it myproject /bin/bash
# 切到项目路径下:安装依赖
pip install -r requirement.txt
# pip list
apt-get update
apt-get vim
# setting.py 改成下面
ALLOWED_HOSTS = [‘*‘]
# 运行项目(wsgiref)
python manage.py runserver 0.0.0.0:8080
# 换uwsgi跑
pip install uwsgi
# 在项目根路径下创建一个uwsgi.ini 文件,写入

[uwsgi]
#配置和nginx连接的socket连接
socket=0.0.0.0:8080
#也可以使用http
#http=0.0.0.0:8080
#配置项目路径,项目的所在目录
chdir=/home/django_test
#配置wsgi接口模块文件路径
wsgi-file=django_test/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log

#启动,停止,重启,查看
uwsgi --ini uwsgi.ini #启动
lsof -i :8001    #按照端口号查询
ps aux | grep uwsgi   #按照程序名查询
kill -9 13844       #杀死进程
uwsgi --stop uwsgi.pid      #通过uwsg停止uwsgi
uwsgi --reload uwsgi.pid  #重启

# nginx转发

mkdir -p nginx/conf nginx/html nginx/logs

在conf目录下新建nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
          #uwsgi_pass 101.133.225.166:8080;
          proxy_pass http://101.133.225.166:8080;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

docker run --name nginx -id -p 80:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/etc/nginx/html -v /home/nginx/logs:/var/log/nginx nginx

# 在 python的docker中用uwsgi跑起项目来即可

外部访问:http://101.133.225.166/

方式二:基于dockerfile


# 第二种方式:dockerfile

# 写一个dockerfile即可

FROM python:3.6
MAINTAINER lqz
WORKDIR /home
RUN pip install django==1.11.9
RUN pip install uwsgi
EXPOSE 8080
CMD ["uwsgi","--ini","/home/django_test/uwsgi.ini"] 

# 这句命令,是后台执行的,不会夯住,容器里面就停了

# dockerfile路径下要有一个django_test.tar

#构建镜像
docker build -t=‘django_1.11.9‘ .
# 运行容器
docker run -di --name=mydjango -p 8080:8080 -v /home/myproject:/home django_1.11.9

# 以后只需要从git上拉下最新代码,重启,完事(最新代码)

原文地址:https://www.cnblogs.com/ghylpb/p/12616943.html

时间: 2024-11-07 14:08:19

使用docker部署Django项目步骤的相关文章

Docker 部署Django项目

使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [[email protected]]# tree opsweb opsweb ├── apps ├── logs ├── manage.py ├── media ├── opsweb ├── README.md ├── requirements.txt └── static 编写Dockerfile 这里指定 Python 版本为docker官方提供的 "0

docker部署django项目、mysql主从搭建、django实现读写分离

目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dockerfile 2 mysql主从搭建 3 django实现读写分离 我们使用python镜像源构建的出的容器,是一个纯净的debian系统下的python环境,在容器内部要想安装vim.nginx等,就不能使用yum install ...了,需要使用apt-get源.首先更新apt-get源,使用

用Docker部署Django+uWSGI+Nginx

用Docker部署Django+uWSGI+Nginx 大致步骤如下: 创建Centos容器 安装Python及pip 安装MySQL 使Django连接到MySQL 运行uWSGI服务器 运行Nginx服务器 ? ? 创建Centos容器 安装docker软件 yum install docker 创建一个centos容器 docker run -d --name deploy1 --network host centos tail -f /dev/null -d:让它在后台运行. –name

Linux 下部署Django项目

Linux 下部署Django项目 说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Python: 2.安装python-devel yum install python-devel 3.安装uwsgi pip install uwsgi 测试uwsgi是否能正常工作 1.新建一个index.py: # index.py def application(env, start_respons

docker 部署django方式

1 docker 部署django应用 1.1 基于python基础镜像 # 第一种方式:基于python基础镜像来做 cd /home mkdir myproject cd myproject docker run -di --name=myproject -p 8080:8080 -v /home/myproject:/home python:3.6 #mac/linux window:xshell拖进去 scp django_test.zip [email protected]:/home

基于nginx和uWSGI在Ubuntu系统上部署Django项目

1. nginx1.1 安装sudo apt-get install nginx1.2启动.停止和重启sudo /etc/init.d/nginx startsudo /etc/init.d/nginx stopsudo /etc/init.d/nginx restart或者sudo service nginx startsudo service nginx stopsudo service nginx restart2. uWSGI安装用python的pip安装最简单:apt-get inst

apache部署django项目时出现错误

apache部署Django项目时出现错误 Permission denied: mod_wsgi (pid=2081): Unable to connect to WSGI daemon process 'autotester' on '/etc/httpd/logs/wsgi.2076.0.1.sock' after multiple attempts 可在apache配置文件或者wsgi.conf中添加 WSGISocketPrefix /var/run/

Docker容器和本机之间的文件传输 使用Docker部署Tomcat项目

Docker容器和本机之间的文件传输. http://blog.csdn.net/leafage_m/article/details/72082011 使用Docker部署Tomcat项目 http://blog.csdn.net/leafage_m/article/details/72081987

使用Nginx+uWSGI部署Django项目

1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi ln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi #建立软链接 uwsgi --version #检查安装成功 3.基于uwsgi+django项目部署 django项目目录结构(orange_manage为app): uwsgi --ht