***********************************************
補充參考:Python3.7+Django2.2 Docker鏡像搭建
************************************************
目標鏡像環境介紹:
操作系統:ubuntu16.04
python版本:python 2.7.x
django版本:1.11.x
定義鏡像名稱:dj11_py27
-------------------
下載ubuntu鏡像文件:
---搜索ubuntu16.04倉庫鏡像 docker search ubuntu16.04 ---拉取鏡像 docker pull 指定的版本
---運行
docker run -d -p 8008:8008 --name dj11_py27 -t ubuntu:16.04
--進入容器
docker exec -u root -it dj11_py27 /bin/bash
--查看python環境
root@92e35fc38118:/# python
bash: python: command not found
--升級更新系統
apt-get update
--安裝常用包
apt-get install zip apt-get install vim
--安裝python2.7
apt-get install gcc apt-get install python
root@92e35fc38118:/# python Python 2.7.12 (default, Apr 15 2020, 17:07:12) [GCC 5.4.0 20160609] on linux2
--安裝pip2
apt-get install python-pip
--安裝指定版本django 1.11.15
pip install django==1.11.15 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
--安裝postgresql連接驅動
pip install psycopg2==2.7.5 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
--安裝gunicorn
--注意python2環境建議安裝:gunicorn==19.9.0版本 安裝gunicorn==20以上的版本會報錯 pip install gunicorn==19.9.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com --卸載命令:pip uninstall gunicorn
--基礎環境安裝完成,退出容器
test@odoo:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 92e35fc38118 ubuntu:16.04 "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:8008->8008/tcp dj11_py27
--提交更新記錄
docker commit 92e35fc38118 dj11_py27:2.0
--打包鏡像,保存,遷移,參考:https://www.cnblogs.com/hellojesson/p/10613610.html
--用制作的鏡像-啟動項目容器
docker run -d -p 8000:8000 --name 自定義容器名 -v /root/local_data:/home/docker_data -t dj11_py27:2.0
--將django項目,上傳至容器里/home/docker_data目錄下
--補充gunicorn啟動服務,在容器內部程序項目路徑下
---啟動服務: gunicorn --bind 0.0.0.0:8000 dj_server.wsgi:application --workers=2 --后台啟動服務: nohup gunicorn --bind 0.0.0.0:8000 dj_server.wsgi:application --workers=2 &
--end
