Docker部署Python应用程序
Docker部署Python应用程序
1. 单个py文件部署
生成Dockerfile 文件
插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时)。
文中需要三个插件(pexpect、pymysql/pywinrm)
FROM python:3.6 # 设置代码文件夹工作目录 /app
WORKDIR /app # 复制当前代码文件到容器中 /app
ADD . /app #设置时间
# CentOS
#UN echo "Asia/shanghai" > /etc/timezone;
# Ubuntu
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 安装所需的包 RUN pip install pexpect -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
RUN pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
RUN pip install pywinrm -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com #RUN \
#apt-get update -y && \
#apt-get install python3-pip -y && \
#pip3 install pexpect && \
#pip3 install pymysql && \
#pip3 install pywinrm && \ CMD ["python", "DevOps.py"]
py文件与 Dockerfile文件放成同一目录
生成镜像
docker build -t 镜像名称 .
开启容器
文中设置:
容器端口:80
宿主机器端口:8031
docker run --name 容器名称 -d -p : 镜像名称
完成。
2.python项目部署
dockerfile如下,其他部署与上面一致:
FROM python:3.6 # 设置代码文件夹工作目录 /app
WORKDIR /app # 复制当前代码文件到容器中 /app
ADD . /app #设置时间
# CentOS
#UN echo "Asia/shanghai" > /etc/timezone;
# Ubuntu
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 安装所需的包 RUN pip install --trusted-host mirrors.tuna.tsinghua.edu.cn -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ CMD ["python", "app.py"]
附镜像源:
引用:https://www.cnblogs.com/baiboy/p/docker1.html
引用:https://blog.csdn.net/xin_IT_able/article/details/102840470
引用:https://www.zixi.org/archives/104.html
Docker部署Python应用程序的更多相关文章
- 笔记14:Docker 部署Python项目
Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...
- 【转载】如何使用docker部署c/c++程序
原文地址:https://blog.csdn.net/len_yue_mo_fu/article/details/80189035 Docker介绍 Docker是一个开源的容器引擎,它有助于更快地交 ...
- Docker部署NETCORE应用程序
Docker部署NETCORE应用程序 创建.netcore项目,本文以ASP.NET Core2.2 版本为例 设置Dockerfile属性始终复制 编辑Dockerfile内容 FROM micr ...
- 使用docker 部署python 项目
使用python 开发了一个restfu api程序,使用docker镜像部署.主要有如下步骤,简单记录以供以后参考. 1. 创建DockerFile文件 创建一个DockerFile文件,文件名为D ...
- Docker部署Python项目
简介 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取的策略就是引入虚拟机,比如在 Wind ...
- docker 部署net core程序 curl访问地址 提示 Connection reset by peer
最近研究netcore 部署到docker上.在参考https://www.cnblogs.com/subendong/p/8992285.html教程之后,部署成功.但是curl访问对应的主机端口地 ...
- Docker部署Python爬虫项目
1) 首先安装docker: # 用 yum 安装并启动 yum install docker -y && systemctl start docker 2) 下载自定义镜像需要用到的 ...
- 部署python django程序
在一台新的服务器上x需要先安装python3 ,git , 等 安装python3 安装python3 之前博客写过 创建虚拟环境,我用的是venv https://docs.python.org/ ...
- docker 部署一个 aspnetmvc 程序
准备mvc的程序[asp.net mvc5 网站] 使用刚才创建的镜像,并把上诉文件目录挂载到iis指定磁盘docker run -d -p 83:80 --name docker-drgs -v ...
随机推荐
- Scrapy 使用 Item 封装数据、使用 Item Pipline处理数据
1.Item 和 Field Scrapy 提供一下两个类,用户可以使用它们自定义数据类,封装爬取到的数据: (1)Item类 自定义数据类(如 BookItem)的基类 (2)Field 用来描述自 ...
- sigprocmask
sigprocmask 检测和更改进程的信号屏蔽字 初始化信号屏蔽字的函数 sigprocempty--设置空的信号屏蔽字 sigprocfillset----设置全集的信号屏蔽字
- mysql判断数据库或表是否存在
(1) 判断数据库存在, 则删除: drop database if exists db_name;(2) 判断数据表存在, 则删除: drop table if exists table ...
- 一 Java语言基础
1 标识符: 用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 由字母.美元符.下划线.数字组成,不能以数字开头,如 int 6a = 1; 2 基本数据类型8个: 整数4个:字 ...
- HTML<head></head>中标签的含义
我们都知道,HTML的标签可以分为很多种,head 里面的我们称为元信息类标签,诸如title.meta.style.link.base.script这些,他们用来描述文档的一些基本信息. 1. ti ...
- pip升级报错(权限问题)
今天跟新pip的时候错一个接一个 看到拒绝访问应该是权限的问题,想起安装的时候选择谁可以使用软件(大概是这样的一个选项),选择了“只有我”,选择所有用户应该就不会存在这个问题了,那么怎么解决呢? 敲黑 ...
- JS enter键一键登录
$("body").keydown(function (event) { ) { //enter键键值为13 $('.finish-btn').click(); // $('.fi ...
- JS 函数创建、封装、调用
一.简单函数创建.封装 第三种就是构造函数 function fun(a,b){ this.firstName=a this.lastName=b } var x=new myFun(Jhon,Dav ...
- redis api-zset
- SpringBoot Date类型插入数据库始终比正确时间早一天问题解决办法
bug描述 昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天 输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天 https:// ...