这篇文章主要介绍了Docker容器化部署Python应用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
简单应用部署
一、目录结构:
└── Pythonpro #目录
└── test.py #文件
└── requirements.txt #文件
└── Dockerfile #文件
二、编写Dockerfile文件
# 基于镜像基础
FROM python:3.6.4
# 创建代码文件夹工作目录 /code
RUN mkdir /code
# 复制当前代码文件到容器中 /code
COPY . /code
# 安装所需的包
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
# 指定cmd的工作目录 /code
WORKDIR /code
#容器启动时执行的命令
CMD [“python”,”test.py”]
三、创建容器镜像
docker bulid -t test .
四、运行容器
docker run -it –name test –restart always –privileged=true python-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.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\"]
三、构建镜像
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刚刚构建的镜像
–restart:always 容器退出时总是重启
–privileged=true:执行容器内文件需要的权限
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持安全小天地。
暂无评论内容