Python 脚本拉取 Docker 镜像问题

yipeiwu_com6年前Python基础

好久没有介绍小工具了,今天碰到一个,简单粗糙但是有用的一个,这个工具有多简单粗糙呢?证据有二:

连 Python shebang 都没有;

简单到原创 300 字都很难凑够。

言归正传:安装工经常会遇到一个问题:没 Docker 怎么拉镜像?这个小工具就是做这个事情的。

该项目同样是个开源项目,地址为: https://github.com/NotGlop/docker-drag

这个项目使用 Python 的 Request 库,借助 API 直接从仓库中拉取镜像,并保存为 TAR 文件。

保存下来的 Tar 文件可以直接使用 docker load -i 命令进行载入。由于去掉了对 Docker/Podman/xxxx 等的依赖,在实际工作中,例如对于文件传输或者 CICD 流程来说,这个脚本都有可能发挥很有意思的作用。

用法也是相当的简单粗暴: python3 docker_pull.py [image name] ,就完成任务了。

例如:

$ python3 docker_pull.py nginx:alpine
Creating image structure in: tmp_nginx_alpine
89d9c30c1d48: Pull complete [2787134]
110ad692b782: Pull complete [5953615]
Docker image pulled: library_nginx.tar
$ ls library_nginx.tar
library_nginx.tar

或者放到镜像里:

FROM alpine:3.10.3
RUN apk add -u ca-certificates python3 \
  && pip3 install requests \
  && wget https://raw.githubusercontent.com/NotGlop/docker-drag/master/docker_pull.py

 

总结

以上所述是小编给大家介绍的Python 脚本拉取 Docker 镜像问题,希望对大家有所帮助!

相关文章

python实现连续图文识别

本文实例为大家分享了python实现连续图文识别的具体代码,供大家参考,具体内容如下 1.工具: 1.1 剪切板。我下载并安装使用的是剪切板查看器(clipbrd.exe),成功后显示“...

Python functools模块学习总结

文档 地址 functools.partial 作用: functools.partial 通过包装手法,允许我们 "重新定义" 函数签名 用一些默认参数包装一个可调用对象,返回结果是可...

python处理大日志文件

本文实例为大家分享了python处理大日志文件的具体代码,供大家参考,具体内容如下 # coding=utf-8 import sys import time class Ta...

Python Tkinter基础控件用法

Python Tkinter基础控件用法

本文实例展示了Python Tkinter基础控件的用法,分享给大家供大家参考之用。具体方法如下: # -*- coding: utf-8 -*- from Tkinter impo...

python实现根据用户输入从电影网站获取影片信息的方法

本文实例讲述了python实现根据用户输入从电影网站获取影片信息的方法。分享给大家供大家参考。具体如下: 这段python代码主要演示了用户终端输入,正则表达式,网页抓取等 #!/u...