使用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 容器
使用docker 部署python 项目的更多相关文章
- 笔记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如下: <?xml version= ...
- 云服务器上利用Docker部署Django项目
转载别人的,请看下面链接 云服务器上利用Docker部署Django项目
随机推荐
- OpenSSL源码简介
1.X.509标准 x509是由国际电信联盟(ITU-T)制定的数字证书标准:包含公钥和用户标志符.CA等: x509是数字证书的规范,P7和P12是两种封装形式:X.509是常见通用的证书格式.所有 ...
- 全局捕获异常(适用于SpringMvc,SpringBoot项目)
@ControllerAdvice 是controller的一个辅助类,最常用的就是作为全局异常处理的切面类.约定了几种可行的返回值,可以返回String字符串,也可以返回ModelAndView,也 ...
- mysql将一个表中字段A的值赋给另一个表的字段B
# mysql 的修改方法 update table_a a inner join table_b b on b.id=a.id set a.description=b.content; # mssq ...
- ibatis与mybatis的区别
一.最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service ...
- windows下前端开发环境配置
nvm安装 多媒体布局 前端自动化构建工具,gulp nvm管理node的版本,npm是node的包管理工具 下载nvm安装包 https://github.com/coreybutler/nvm-w ...
- 字符串格式化-String类format方法
常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. format()方法有两种重载形式. 显示不同转换符实现不同数据类型到字符串的转换,如图所示: 测 ...
- Hive中的日志
Hive中的日志分为两种1. 系统日志,记录了hive的运行情况,错误状况.2. Job 日志,记录了Hive 中job的执行的历史过程. 1.系统日志 系统日志存储在什么地方呢 ?在hive/con ...
- c++命名空间namespace
namespace 变量作用域的作用空间,这样可以防止相同名称的变量被调用时带来的问题#include "iostream" #include <string> usi ...
- 【51nod1792】Jabby's segment tree
题目 线段树是一种经典的数据结构,一颗[1,n]的线段树他的根是[1,n],当一个线段树的结点是[l,r]时,设mid=(l+r)>>1,则这个结点的左儿子右儿子分别是[l,mid],[m ...
- vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式
// 开始这样写,不执行 window.onresize = function() { console.log('窗口发生变化') } // 改成window监听事件 window.addEventL ...