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