使用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 容器

使用docker 部署python 项目的更多相关文章

  1. 笔记14:Docker 部署Python项目

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

  2. Docker部署Python项目

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

  3. Docker如何部署Python项目

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

  4. Docker 部署Django项目

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

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

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

  6. Docker部署Python应用程序

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

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

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

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

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

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

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

随机推荐

  1. mysql truncate 与 delete的相同点和不同点

    相同点 都可以清空表,自增字段将起始值恢复成1 [delete from table_name where 1 可以保持自增的最大值] delete from table_name; truncate ...

  2. 自学Python6.5-内置模块(re、collections )

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  3. 紫书 例题 10-11 UVa 11181(概率计算)

    这道题不能凭感觉做了.要套公式 r个人买了东西叫事件E, 第i个人买东西的概率叫做事件Ei 求得是P(E|Ei), 则P(E|Ei)= P(E|Ei)/ P(E) 那么P(E)可以枚举求得, 用递归求 ...

  4. 第二章 Vue快速入门-- 26 过滤器-定义私有过滤器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. java字符串函数用法汇总

    替换字符串中的字符 例如有如下x的字符串 String x = "[kllkklk\kk\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相 ...

  6. k8spod探测

    一.pod存活性探测 pod spec为容器列表中的相应容器定义其专用的探针即可启用存活性探测,目前,k8s的容器支持存活性探测的方法包含:ExecAction.TCPSocketActon和HTTP ...

  7. vue cli3.0快速搭建项目详解(强烈推荐)

    这篇文章主要介绍下vue-cli3.0项目搭建,项目结构和配置等整理一下,分享给大家. 一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cl ...

  8. idea中使用JRebel插件

    首先 等待下载 点击Restart idea (重启idea) 然后等待idea 进行激活 记得勾选下面的那个复选框 激活url:http://139.199.89.239:1008/88414687 ...

  9. 2019ICPC沈阳网络赛-B-Dudu's maze(缩点)

    链接: https://nanti.jisuanke.com/t/41402 题意: To seek candies for Maomao, Dudu comes to a maze. There a ...

  10. [洛谷P1712] NOI2016 区间

    问题描述 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x,使得对于每一 ...