使用docker封装python脚本(win11)

一、在脚本中添加一个Dockerfile(如图)

1.配置Dockerfile里面的参数

2.Dockerfile文件参数示例

  • FROM:指定一个基础镜像
  • WORKDIR:设置工作目录,指定工作在哪个路径下
  • RUN:在容器构建时就要执行的命令
  • ADD/COPY:将本地(宿主机)上的文件或目录复制到容器中
  • LABEL 指令会添加元数据到镜像
  • CMD:指定容器启动时(真正运行时)默认运行的命令(脚本)
FROM python:3.7
#这里指定python版本号为3.7
LABEL authors="chenmin"
#指定作者
RUN mkdir -p /chen
#创建一个文件夹
WORKDIR /chen
#设置容器中的工作目录为chen
ADD . .
#将当前目录中的所有文件复制到容器中的当前目录中
ENV PYTHONUNBUFFERED=0
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN python -m pip install --upgrade pip -i https://pypi.douban.com/simple
RUN pip install -U pip
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip config set install.trusted-host mirrors.aliyun.com
RUN pip install -r requirements.txt
CMD ["python", "main.py"]

二、在脚本中添加一个requirements.txt

1.配置requirements.txt里面的参数

  •  requirements.txt 是一个文本文件,这里面参数是你使用pip 命令安装的所有第三方模块及对应模块的依赖包及对应版本;它通常用于管理项目的依赖关系,以确保在不同的环境中能够准确地安装相同的依赖。
  • 在 requirements.txt 文件中,每一行表示一个依赖项,通常采用 <package-name>==<version> 的格式来指定依赖的包及其版本。例如:
requests==2.25.1
numpy==1.19.4
pandas==1.1.5
  • 上述示例中,requirements.txt 文件列出了项目所需要的三个依赖包,分别是 requestsnumpy 和 pandas,并指定了它们的版本号。

通过执行以下命令,可以根据 requirements.txt 文件自动安装项目所需的依赖包:

pip install -r requirements.txt

 三、启动docker

打开桌面上的docker~

四、拉取python镜像

docker pull python

 这里不指定版本就是最新版本

之后想改版本号可以引用下面的方法:

 docker tag [镜像名称]:[镜像版本号] [新镜像名称]:[新镜像版本号]

四、构建自己的镜像

在 Dockerfile 文件的存放目录下,执行构建动作。

以下示例,通过目录下的 Dockerfile 构建一个piliang:v1.0.1 (镜像名称:镜像标签)

这里我给我的镜像名称起的是piliang

:最后的 . 代表本次执行的上下文路径

 docker build -t piliang:v1.0.1 .

上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。

解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。

如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。

五、启动docker镜像并挂载文件夹

docker run -it -v D:\mm:/mm_file piliang:v1.0.1

  •  docker run -it 启动镜像
  •  piliang:v1.0.1 镜像名称和版本
  • -v 挂载本地文件夹到docker容器
  •  D:\mm 本地文件夹(python读取和存放数据的地址)
  •  /mm_file docker容器的文件夹,固定路径,不可变更

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值