docker 发布 django项目

 

 


 

打包django项目

 

先生成需要的python模块列表

pip freeze >req.txt

然后打包程序

tar cvf django1.tar ./django1

 

scp到docker服务器的/python目录下解压

 

确定基础镜像版本

首先选择基础镜像,这里选择的是centos,我们的原项目是运行在centos7.3中的。

 

 

先到hub.docker.com中查询image的名称

 

https://hub.docker.com/explore/

 

 docker 发布 django项目_第1张图片

 

centos7.3这是我们需要的基础镜像

运行基础镜像

先登录

docker login

 

然后将镜像拉到本地

 

docker pull centos:7.3.1611

 

查看新的image

root@dockerm:~# docker image ls

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

centos/django           latest              dbfbbd2c99a5        About an hour ago   492MB

                                a898077131ee        2 weeks ago         16.8MB

                                360bbde8fc28        2 weeks ago         742MB

nginx                   alpine              bb00c21b4edf        2 weeks ago         16.8MB

docs/docker.github.io   docs-builder        90000308f7fb        3 weeks ago         225MB

ubuntu                  latest              00fd29ccc6f1        6 weeks ago         111MB

hello-world             latest              f2a91732366c        2 months ago        1.85kB

centos                 7.3.1611           66ee80d59a68        2 monthsago        192MB

 

然后

运行此镜像

docker run -d -i -v /python:/python -tcentos:7.3.1611

-d为后台运行

-v 为映射本地目录到docker中

 

准备程序运行环境

然后进入到运行的docker中,安装需要的软件包以及模块

 

yum install xxxx

 

pip install –r req.txt

 

生成新镜像

本地需要的程序都准备完成后使用commit生成新的镜像

 

docker commit bd486b5df131 centos/django

 

运行

 

然后就可以使用docker运行django项目了

 

docker run -itd -p 8000:8000  -v /python:/python -w /python centos/django1python /python/django1/manage.py runserver 0.0.0.0:8000

 

 

 

最后送上一张美图

 docker 发布 django项目_第2张图片

打包迁移

迁移发布程序不再困难

 

 

将镜像打包迁移到其他机器(export/import):

 

 

运行的时候使用

docker export db509b5a599f >django.tar

 

 

然后在目标服务器

cat django.tar | docker import -centos/django

 

然后新建/python/

将django1.tar项目文件传送到目录上,解压

 

运行

docker run -itd -p 8000:8000  -v /python:/python -w /python centos/djangopython /python/django1/manage.py runserver 0.0.0.0:8000

 

 

 

查看项目库运行日志:

docker logs fba7f2b32fb0 -f

你可能感兴趣的:(docker)