Docker部署Python应用程序

时间:2023-03-08 21:52:55

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.****.net/xin_IT_able/article/details/102840470

引用:https://www.zixi.org/archives/104.html