使用docker部署django項目也很簡單,挺不錯,分享下
環境
默認你已安裝好docker環境
django項目大概結構
(p3s) [root@opsweb]# tree opswebopsweb├── apps├── logs├── manage.py├── media├── opsweb├── README.md├── requirements.txt└── static
編寫Dockerfile
這里指定 Python 版本為docker官方提供的
"0.0.0.0:8000" 這里筆者開啟容器中 8000 端口FROM python:3.6RUN mkdir -p /usr/src/appCOPY pip.conf /root/.pip/pip.confCOPY opsweb /usr/src/app/COPY run_web.sh /usr/src/app/RUN pip install -r /usr/src/app/requirements.txtWORKDIR /usr/src/appCMD [ "sh", "./run_web.sh"]
編寫pip文件
這里是為了使用鏡像 pip install速度快些 使用阿里云源
[global]index-url = http://mirrors.aliyun.com/pypi/simple/[install]trusted-host=mirrors.aliyun.com
完整目錄結構
[root@opsweb]# lsDockerfile opsweb pip.conf run_web.sh
build鏡像
docker build -t ops:v0.1 .Sending build context to Docker daemon 4.849 MBStep 1 : FROM python:3.6 ---> 3e4c2972dc8dStep 2 : RUN mkdir -p /usr/src/app ---> Running in 8ddd929f5c18 ---> 89dc0a1ffdf0Removing intermediate container 8ddd929f5c18Step 3 : COPY pip.conf /root/.pip/pip.conf ---> 5a4a165fed90Removing intermediate container 37f3fdc7e5d2Step 4 : COPY opsweb /usr/src/app/opsweb ---> f602e72ffd4cRemoving intermediate container 8d4bb616916dStep 5 : COPY opsweb/requirements.txt /usr/src/app/ ---> 6fe11a6fcbe0Removing intermediate container faeadee32fedStep 6 : RUN pip install -r /usr/src/app/requirements.txt ---> cc09c17d53daRemoving intermediate container d7b45bec6993Step 7 : WORKDIR /usr/src/app ---> Running in c22dfdddbe81 ---> c5c944b6df45Removing intermediate container c22dfdddbe81Step 8 : CMD python ./manage.py runserver 0.0.0.0:8000 ---> Running in 29d5f0f53f6e ---> 10d37173fd13Removing intermediate container 29d5f0f53f6eSuccessfully built 10d37173fd13
結語
這樣鏡像就build好了,然后你可以直接docker run -p8000:8000 ops:v0.1 -d啟動就行,或者也可以部署到k8s上去也很簡單這里就不細講了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選