1. 程式人生 > 程式設計 >Python 指令碼拉取 Docker 映象問題

Python 指令碼拉取 Docker 映象問題

好久沒有介紹小工具了,今天碰到一個,簡單粗糙但是有用的一個,這個工具有多簡單粗糙呢?證據有二:

連 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 映象問題,希望對大家有所幫助!