目录
一、在docker中安装python
1.1 输入镜像拉取命令
1.2 查看镜像
1.3 运行
1.4 查看是否成功
1.5 查看python版本
二、运行py文件
2.1准备运行所需文件
2.2 准备文件夹
2.3 大概是这幅模样
2.4 打包上传到服务器上
2.5 构建镜像示例
2.6 查看镜像
2.7 优化镜像的体积大小。
2.8 运行程序
一、在docker中安装python
1.1 输入镜像拉取命令
注意这里我们使用的是alpine版本,与常用版本没有太大的区别,主要的优点就是体积很小!!
docker pull python:3.8-alpine
1.2 查看镜像
1.3 运行
docker run -itd python:3.8-alpine /bin/sh
1.4 查看是否成功
1.5 查看python版本
docker exec -it py容器的id /bin/sh
退出ctrl+D
二、运行py文件
2.1准备运行所需文件
打包成镜像需要的Dockerfile文件,和requirement.txt文件
Dockerfile文件参考如下
#基于的基础镜像
FROM python:3.8.16
# 设置code文件夹是工作目录
WORKDIR /codepy1
# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里 # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt
# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/
# 复制代码到工作目录
COPY ./app /codepy1/app
#运行
CMD ["python", "/app/main.py"]
如何生成requestment.txt请看这篇文章:
Py自动生成requirements.txt文件_桂亭亭的博客-CSDN博客
2.2 准备文件夹
将事先准备好的文件放入新建的app文件夹中,Dockerfile可以等上传到服务器上时再写也行。
2.3 大概是这幅模样
2.4 打包上传到服务器上
Dockerfile的后缀名为没有,不是txt,如果有后缀运行是会报错的,请注意
2.5 构建镜像示例
docker build -t viewadd .
2.6 查看镜像
2.7 优化镜像的体积大小。
我们更改我们原来的Dockerfile文件,主要修改的就是版本号
#基于的基础镜像
FROM python:3.8-alpine
# 设置code文件夹是工作目录
WORKDIR /codepy1
# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里 # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt
# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/
# 复制代码到工作目录
COPY ./app /codepy1/app
#运行
CMD ["python", "/app/main.py"]
将原来的删除后
重新打包
docker build -t viewadd .
2.8 运行程序
可能会报错,如下。
修复错误
修改Dockerfile文件,注意我们更改了什么?
答:cmd运行的路径,一下是示例
#基于的基础镜像
FROM python:3.8-alpine
# 设置code文件夹是工作目录
WORKDIR /codepy1
# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里 # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt
# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/
# 复制代码到工作目录
COPY ./app /codepy1/app
#运行
CMD python /codepy1/app/main.py