docker如何部署python项目_使用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: --build-arg https_proxy=SCDCA0000337.cn.svc.corpintra.net: -t centos7-udp_api_img_v3:v1 .

参数说明:

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

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

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

3. 创建Docker 容器

笔记14:Docker 部署Python项目

Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...

Docker部署Python项目

简介 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取的策略就是引入虚拟机,比如在 Wind ...

Docker如何部署Python项目

Docker 部署Python项目 作者:白宁超 2019年5月24日09:09:00 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如 ...

Docker 部署Django项目

使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [root@opsweb]# tree opsweb opsw ...

docker 部署django项目(nginx + uwsgi +mysql)

最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...

Docker部署Python应用程序

Docker部署Python应用程序 1. 单个py文件部署 生成Dockerfile 文件 插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时). 文中需要三个插件(pe ...

Docker容器和本机之间的文件传输 使用Docker部署Tomcat项目

Docker容器和本机之间的文件传输. http://blog.csdn.net/leafage_m/article/details/72082011 使用Docker部署Tomcat项目 http: ...

docker初体验:Docker部署SpringCloud项目eureka-server

Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下:

云服务器上利用Docker部署Django项目

转载别人的,请看下面链接 云服务器上利用Docker部署Django项目

随机推荐

Cocos2d-x中使用OpenGL ES2.0编写shader

这几天在看子龙山人的关于OpenGL的文章,先依葫芦画瓢,能看到些东西,才能慢慢深入了解,当入门文章不错,但是其中遇到的一些问题,折腾了一些时间,为了方便和我一样的小白们,在这篇文章中进行写补充. O ...

*像word一样编辑复杂的文本:SpannableString 样式详介

简介: 使用android.text.Spanned; android.text.SpannableString; android.text.SpannableStringBuilder; 和 and ...

App上线Check List

1.umeng统计.安全加固等第三方功能到位,本次上线市场列表选择好.2.后台数据库模式准备3.后台数据库数据准备4.后台应用服务器运行检查5.前端界面信息要正确6.前端交互不能出现过度卡顿和经常闪退 ...

程序员如何避免996、icu?欢迎来讨论一下。

最近996icu火了,我以前就被996害了.现在还没缓过来,可能是自己体质比较弱吧. 以前的事就不说了,说说现在的想法吧.那么程序员如何才能避免996icu呢? 有两个基本因素: 1. 实现一个功能, ...

mysql怎么修改密码

第一种方式: 最简单的方法就是借助第三方工具Navicat for MySQL或Navicat Premium来修改,方法如下: 1.登录mysql到指定库,如:登录到student库. 2.然后点击 ...

centos7 python环境安装

https://blog.csdn.net/LeonTom/article/details/81289326

找不到visual studio模板信息 解决方法

菜单->工具->选项->项目和解决方案-> 将"Visual Studio 用户项目模板位置"指向vs安装目录:"E:/Program Fil ...

php 中构造函数和析构函数

构造函数: 在对象实例化时被调用,一个类中只能有一个构造函数,在类中起初始化的作用. 析构函数: 在对象结束时被自动调用. 话不多说,用一段代码来说明两者的区别:

HDU 3848 CC On The Tree(树形dp)

http://acm.hdu.edu.cn/showproblem.php?pid=3848 题意: 求一棵树上两个叶子结点之间的最短距离. 思路: 两个叶子节点之间一定会经过非叶子节点,除非只有两个 ...

你可能感兴趣的:(docker如何部署python项目_使用docker 部署python 项目)