Docker +Django

docker+gunicorn+django
默认unicorn 不处理静态文件。自己添加nginx处理,具体看上篇
在项目目录下保存依赖的模块和版本,打包在项目里面打包,manage.py同目录
[root@a demo]# ls
blog demo log manage.py requirements.txt static templates
*如果不是nginx处理静态文件,注意修改你的静态文件夹对应的目录
pip3 freeze > requirements.txt ***
cp requirements.txt /Dockerfile/
tar zcf demo.tar.gz

cp demo.tar.gz /Dockerfile/
[root@a Dockerfile]# cat Dockerfile
FROM python
COPY requirements.txt .
RUN pip3 install -r requirements.txt
ADD demo.tar.gz /
ENV port=9001
CMD gunicorn -w 4 -k gevent -b 0.0.0.0:${port} demo.wsgi:application
[root@a Dockerfile]#
root@a Dockerfile]# docker build -t django .
可以随意指定端口,默认9001
[root@a Dockerfile]# docker run -dit --name django5 -e "port=9004" -p9004:9004 --restart always django3
4b90bcd2f2c31b5466267a55b8b850c5ad6fce5a4f474420f629c5558da9edc3
[root@a Dockerfile]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4b90bcd2f2c3 django3 "/bin/sh -c 'gunicor…" 3 seconds ago Up 2 seconds 0.0.0.0:9004->9004/tcp django5

猜你喜欢

转载自blog.51cto.com/982439641/2552739