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 8031:80 镜像名称

完成。

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

原文地址:https://www.cnblogs.com/1285026182YUAN/p/12171420.html