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

最新文章

  1. JavaScript系列文章:不能不看的数据类型检测
  2. Synchronized及其实现原理
  3. web安全攻防-环境配置
  4. Oralce开窗函数OVER()的一些应用
  5. Web服务器控件表
  6. 小结JS中的OOP(中)
  7. 手机web开发Repeater四层嵌套
  8. [转]浅析AD Exchange——RTB模式
  9. Boxes in a Line
  10. Spark小课堂Week3 FirstSparkApp(RDD开发)
  11. 启用Oracle中的scott用户
  12. C++ stl 怎么打印内存内容?
  13. hdu5860 Death Sequence
  14. 对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
  15. Web安全之XSS Platform搭建及使用实践
  16. java子类继承父类的方法(代码简略版)
  17. Git pull的时候遇到问题
  18. To 初识Java的小菜菜们 嘻嘻~
  19. linux gzip 命令详解
  20. Python之正则表达式模块

热门文章

  1. Java经典算法50道题
  2. 修改DUILIB任务栏中显示的图标和EXE图标
  3. (4)LoraWAN:Physical Message Formats
  4. Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令
  5. 还是应该立个flag
  6. Python对城市距离自动化爬取【必学小型项目】
  7. Unity 公告板 Billboard
  8. Gradient descend 梯度下降法和归一化、python中的实现(未完善)
  9. Java项目xml相关配置
  10. VM ubuntu18.04.01虚拟机没办法联网