Docker容器化部署Python應(yīng)用過程解析
簡單應(yīng)用部署
一、目錄結(jié)構(gòu):
└── Pythonpro #目錄
└── test.py #文件
└── requirements.txt #文件
└── Dockerfile #文件
二、編寫Dockerfile文件
# 基于鏡像基礎(chǔ)
FROM python:3.6.4
# 創(chuàng)建代碼文件夾工作目錄 /code
RUN mkdir /code
# 復(fù)制當(dāng)前代碼文件到容器中 /code
COPY . /code
# 安裝所需的包
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
# 指定cmd的工作目錄 /code
WORKDIR /code
#容器啟動時執(zhí)行的命令
CMD ["python","test.py"]
三、創(chuàng)建容器鏡像
docker bulid -t test .
四、運行容器
docker run -it --name test --restart always --privileged=true python-test
--name:指定容器的名字為python-test,test是剛剛構(gòu)建的鏡像。
--restart:always 容器退出時總是重啟。
--privileged=true:執(zhí)行容器內(nèi)文件需要的權(quán)限。
Django應(yīng)用容器化
一、目錄結(jié)構(gòu),我這里假設(shè)這個目錄存在于/home/Pythonpro。
└── Pythonpro #目錄
└── manage.py #文件
└── 主項目 #目錄
└── apps #目錄
└── requirements.txt #文件
└── Dockerfile #文件
└── run.sh #文件
run.sh腳本
python /code/manage.py runserver 0.0.0.0:8000
二、編寫Dockerfile文件
FROM python:3.6.4 RUN mkdir /code \ &&apt-get update \ &&apt-get -y install freetds-dev \ &&apt-get -y install unixodbc-dev COPY . /code RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple WORKDIR /code CMD ["/bin/bash","run.sh"]
三、構(gòu)建鏡像
docker bulid -t webtest .
四、運行容器
docker run -it -p 6500:8000 -v /home/Pythonpro:/code --name web --restart always --privileged=true webtest
-p:把容器的8000端口映射到宿主機6500
-v:主機的目錄/home/Pythonprot映射到容器的目錄/code
--name:指定容器的名字為web,webtest剛剛構(gòu)建的鏡像
--restart:always 容器退出時總是重啟
--privileged=true:執(zhí)行容器內(nèi)文件需要的權(quán)限
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Docker創(chuàng)建FTP服務(wù)器的過程解析
這篇文章主要介紹了使用Docker創(chuàng)建FTP服務(wù)器的過程解析,使用?Docker?搭建?FTP?服務(wù),不僅十分簡單,而且可以對宿主機有一定的隔離,對Docker創(chuàng)建FTP服務(wù)器的過程感興趣的朋友一起看看吧2022-04-04
docker和docker compose版本太低問題的解決方案
本文主要介紹了Docker和docker-compose版本過低導(dǎo)致的KeyError: 'ContainerConfig'錯誤的解決方法,具有一定的參考價值,感興趣的可以了解一下2025-03-03
Docker數(shù)據(jù)備份恢復(fù)實現(xiàn)過程詳解
這篇文章主要介紹了Docker數(shù)據(jù)備份恢復(fù)實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
docker<容器數(shù)據(jù)卷-v>對容器內(nèi)數(shù)據(jù)持久化詳解(備份)
容器的數(shù)據(jù)持久化主要是指宿主機與容器,以及容器與容器之間進行數(shù)據(jù)交互,下面這篇文章主要給大家介紹了關(guān)于docker<容器數(shù)據(jù)卷-v>對容器內(nèi)數(shù)據(jù)持久化的相關(guān)資料,需要的朋友可以參考下2023-03-03

