Docker容器化部署Python应用过程解析
简单应用部署
一、目录结构:
└──Pythonpro#目录
└──test.py#文件
└──requirements.txt#文件
└──Dockerfile#文件
二、编写Dockerfile文件
#基于镜像基础
FROMpython:3.6.4
#创建代码文件夹工作目录/code
RUNmkdir/code
#复制当前代码文件到容器中/code
COPY./code
#安装所需的包
RUNpipinstall-r/code/requirements.txt-ihttps://pypi.douban.com/simple
#指定cmd的工作目录/code
WORKDIR/code
#容器启动时执行的命令
CMD["python","test.py"]
三、创建容器镜像
dockerbulid-ttest.
四、运行容器
dockerrun-it--nametest--restartalways--privileged=truepython-test
--name:指定容器的名字为python-test,test是刚刚构建的镜像。
--restart:always容器退出时总是重启。
--privileged=true:执行容器内文件需要的权限。
Django应用容器化
一、目录结构,我这里假设这个目录存在于/home/Pythonpro。
└──Pythonpro#目录
└──manage.py#文件
└──主项目#目录
└──apps#目录
└──requirements.txt#文件
└──Dockerfile#文件
└──run.sh#文件
run.sh脚本
python/code/manage.pyrunserver0.0.0.0:8000
二、编写Dockerfile文件
FROMpython:3.6.4 RUNmkdir/code\ &&apt-getupdate\ &&apt-get-yinstallfreetds-dev\ &&apt-get-yinstallunixodbc-dev COPY./code RUNpipinstall-r/code/requirements.txt-ihttps://pypi.douban.com/simple WORKDIR/code CMD["/bin/bash","run.sh"]
三、构建镜像
dockerbulid-twebtest.
四、运行容器
dockerrun-it-p6500:8000-v/home/Pythonpro:/code--nameweb--restartalways--privileged=truewebtest
-p:把容器的8000端口映射到宿主机6500
-v:主机的目录/home/Pythonprot映射到容器的目录/code
--name:指定容器的名字为web,webtest刚刚构建的镜像
--restart:always容器退出时总是重启
--privileged=true:执行容器内文件需要的权限
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。