简单的Mac版Docker封装需要传参的Python

被Docker折磨了好久,现在记录一下。用Mac做先按着教程下一个桌面版的MacOS Docker 安装,每次操作的时候必须启动才可以,要不就报没连接的错误。

文件目录

目录如下图设置,在demo文件夹下,有两个文件和一个文件夹,Dockerfile就是指我们生成Docker时的设置文件,requirements.txt是指python环境下所需要的包,src文件夹是指代码,来一个一个看。

在这里插入图片描述

Dockerfile

Dockerfile 文件这么写,具体参数看这Docker Dockerfile

# 就是大环境
FROM python:3.9
# 工作目录
WORKDIR ./docker_predict_S
# 从本来的路径拷贝到容器指定路径,这么写最省事 
ADD . .
# 运行下加载环境的
RUN pip install -r requirements.txt
# 环境变量,就相当于我们可以传参的参数
ENV SS=''
# 这个就是完成后执行命令行
ENTRYPOINT python ./src/pp.py --string $SS

requirements.txt

这里放一些加载包,加不加后面的版本号都行

certifi==2022.5.18.1
pandas==1.4.2

用下面这一行就可以导出环境依赖

pip freeze > requirements.txt 

代码文件夹

在里面可以写自己的文件,也可以调用资源,但是路径得变成./src/... 就好了,我的运行文件pp.py这样写。

import argparse

parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('--string', type=str, default='123123')
args = parser.parse_args()


if __name__ == '__main__':
    print(args.string)

Docker命令行

好了,重头戏来了,先cd 到文件夹内部,当然需要把Docker这个程序运行起来。
现在执行docker images是什么都没有的。

在这里插入图片描述

装载建包

sudo docker build -t demo:v1 .

demo:v1是名字和版本,想弄啥弄,后面还有个 . 要注意,命令行截图如下。

经历了漫长的等待,docker images 也有镜像出现,OK了。

运行一下

因为是EVN的参数,所以要写在前面,用-e的方式,一般传个端口号什么的,方便。

sudo docker run -e SS='22' demo:v1

运行截图

在这里插入图片描述

导出

先把刚运行的容器关闭下,全关了镜像状态就是不用了,再导出。

在这里插入图片描述

导出的命令

 docker save -o demo.tar demo:v1

文件夹就有了

在这里插入图片描述

我们再把docker里之前的镜像删掉,用这个导入的来看看。

docker rmi 镜像id

截图如下

在这里插入图片描述

导入

docker load -i demo.tar

加载检查有了

在这里插入图片描述

运行下,有结果了,就酱。

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫凯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值