使用docker 部署python 项目

Posted binw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker 部署python 项目相关的知识,希望对你有一定的参考价值。

 

使用python 开发了一个restfu api程序,使用docker镜像部署。主要有如下步骤,简单记录以供以后参考。

 

1. 创建DockerFile文件

  创建一个DockerFile文件,文件名为Dockerfile,没有后缀名
  内容如下:
  

FROM centos/python-36-centos7  #设置什么镜像进行安装,示例docker基于python3.6和centos7,所有这里使用的是centos官方提供的镜像名称

#add code to code folder     #设置code目录,此目录为项目根目录,名称随意,但需要防止项目根目录下的所有内容
ADD ./udpapi /code

#set code folder is workdir    #设置工作目录为code目录
WORKDIR /code
#set run user            #设置docker内核系统及centos允许安装使用的用户
USER root
#init system model              #安装centos 所需要的组件,此实例安装的为ssal 所需要的相关组件,调用的是一个shell脚本文件
RUN sh /code/env/init.sh
#install support           #安装python 项目所需要的模块
RUN pip install -r requirements.txt #使用pip自动给生成的项目依赖

CMD ["python","/code/api/app.py"]  #设置app.py为启动文件,docker启动后自动掉哟个此批文件

 

2. 创建Docker 镜像

  创建一个新的文件夹,用于存放生成镜像所需要的所有文件。例如本示例创建一个docker_udpAPI文件夹用来生成Docker 镜像文件,

  镜像结构如下:

  /docker_udpAPI/
    /udpapi/    #python 存放项目根目录下的所有内容
    /udpapi/api/      #项目根目录下的包,里面存放的是项目代码文件
    /udpapi/env/     #docker 运行python 需要的系统组件安装文件夹,为此实例而设置,供Dockerfile中#init system model使用
    /udpapi/config.ini  #python 项目配置文件
    /udpapi/requirements.txt       #python项目依赖的包,可以在生成镜像时自动安装,供Dockerfile 中 #install support 使用
    /Dockerfile  #第一步设置的dockerfile文件

  进入安装好docker环境的服务器,上传准备好的Docker文件夹到服务器并进入镜像目录:  

cd docker_udpAPI/

技术图片

 

构建一个新的镜像

 docker build --build-arg http_proxy=SCDCA0000337.cn.svc.corpintra.net:3128 --build-arg https_proxy=SCDCA0000337.cn.svc.corpintra.net:3128 -t centos7-udp_api_img_v3:v1 .

参数说明:

      -t 指定镜像名称,:号后面跟着版本号

      --build-arg 设置构建时的参数,此处用来设置代理信息

 

 

后面的.一定不能少,这是一个单独的参数,表示从当前目录查找Dockerfile

  

 

 

3. 创建Docker 容器

以上是关于使用docker 部署python 项目的主要内容,如果未能解决你的问题,请参考以下文章

使用docker部署Django项目步骤

Docker部署Python爬虫项目

利用docker部署一个最简单的flask项目

docker部署python项目

Docker Compose

docker部署django项目mysql主从搭建django实现读写分离