先生成需要的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/
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
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
最后送上一张美图
迁移发布程序不再困难
将镜像打包迁移到其他机器(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