docker pull下载很慢_假如服务器上没有 Docker 环境,你还能愉快的拉取容器镜像吗?...
你是否曾经遇到过需要在没有安装任何 Docker
客户端的机器上拉取容器镜像这样变态的需求呢?如果有,你当时又是如何解决的呢?今天我们就来给大家介绍几种另辟蹊径的方法来实现这样的需求。
使用 docker-drag 实现
根据官网介绍:docker-drag
是一个用于与 Docker Hub
交互的工具,并且不需 Docker
客户端本身支持。它主要是通过与 Docker Hub
的 HTTPS API
进行交互来实现相应功能。
项目地址:https://github.com/NotGlop/docker-drag
安装 docker-drag
docker-drag
其实就是一个 Python
脚本,目前版本总共才 168 行代码。你只需要去官网仓库直接下载就可以使用了,非常的简单。
$ wget https://raw.githubusercontent.com/NotGlop/docker-drag/master/docker_pull.py
使用 docker-drag
我们先来看一下官方给出的演示效果。
docker-drag
的使用也是非常简单的,基本上和 docke pull
命令使用方法一致。其主要是借助 Python
的 Request
库和 HTTPS API
直接从仓库中拉取镜像,并保存为 TAR
文件。
# 直接在官方仓库拉取官方镜像$ python docker_pull.py nginx:alpine# 直接在官方仓库拉取三方镜像$ python docker_pull.py mysql/mysql-server:8.0# 直接在三方仓库拉取镜像$ python docker_pull.py mcr.microsoft.com/windows/nanoserver@sha256:ae443bd9609b9ef06d21d6caab59505cb78f24a725cc24716d4427e36aedabf2
镜像下载完成后,你可以直接使用 docker load -i
命令对 TAR
文件进行加载。由于不在依赖容器工具本身,在一些实际使用场景中,例如:CICD 流程。这个小工具或许能助你解决大问题哟!
使用 download-frozen-image-v2 实现
与 docker-drag
类似的工具,还有一个 SHELL
脚本的实现 download-frozen-image-v2
,该脚本隶属于 Moby
项目。
项目地址:https://github.com/moby/moby
它的使用基本上和 docker-drag
类似,大致有如以下几步所示。
- 下载对应的脚本
$ wget https://raw.githubusercontent.com/moby/moby/master/contrib/download-frozen-image-v2.sh
- download-frozen-image-v2 脚本使用语法
download-frozen-image-v2.sh target_dir image[:tag][@digest] ...
- 一个完整的使用实例
# 下载 Ubuntu 容器镜像$ bash download-frozen-image-v2.sh ubuntu ubuntu:latest# download-frozen-image-v2 这里要稍为复杂点,需要自己手动打成 TAR 包$ tar -C 'ubuntu' -cf 'ubuntu.tar' .# 导入容器镜像$ docker load -i ubuntu.tar# 导入容器镜像完成后,运一个容器$ docker run --rm -ti ubuntu bashroot@1dd5e62113b9:/#
使用 dp 实现
dp
同样也是一个实现上述类似需求的小工具。dp
使用 Go
语言开发,天生具有良好的跨平台性。相对于前两个工具来说更容易在多平台上部署使用,而且 dp
还支持将多个镜像打包在一起。
项目地址:https://github.com/zhangguanzhang/dp/
安装 dp
dp
的安装非常简单,只需在官方仓库 Releases
页面直接下载各平台对应的版本,解压后即可使用。
使用 dp
dp
使用起来也是很容易的,下面我们就来看几个实例。
# 从官方仓库拉取一个容器镜像$ dp pull nginx:alpine# 从官方仓库拉取一个容器镜像并打包到压缩文件$ dp pull -o nginx.tar.gz nginx:alpine# 使用 sha256 拉取一个容器镜像$ dp pull mcr.microsoft.com/windows/nanoserver@sha256:ae443bd9609b9ef06d21d6caab59505cb78f24a725cc24716d4427e36aedabf2# 一次从官方仓库拉取多个容器镜像并打包到压缩文件$ dp pull -o project.tar.gz nginx:alpine nginx:1.17.5-alpine-perl# 从三方镜像仓库拉取多个容器镜像并打包到压缩文件$ dp pull -o project.tar.gz nginx:alpine gcr.io/google_containers/pause-amd64:3.1
至此,我们就演示完了如何在不需要 Docker
客户端的前提下拉取容器镜像的方法。如果你还有更多更好的方法,欢迎大家积极留言哟!
参考文档
https://www.google.com
https://xbuba.com/questions/37905763
https://blog.fleeto.us/post/pull-image-without-docker/
你可能还喜欢
点击下方图片即可阅读
自从用上 Telepresence 后,本地调试 Kubernetes 中的微服务不再是梦!
docker pull下载很慢_假如服务器上没有 Docker 环境,你还能愉快的拉取容器镜像吗?...相关推荐
- docker pull下载很慢_一文了解Docker容器技术的操作
一文了解Docker容器技术的操作 前言 相信点进这篇文章的Coder,不管是在各大技术论坛上.技术交流群,亦或招聘网上,应该都有见到过Doker容器技术的面孔,随着社会节奏的加快以及迫于生活的压力, ...
- docker wsl2启动不了_在window上安装docker的方法
前一阵子公司要在线上部署docker,做完之后我就想在我的win10上面也装一个,在这个过程中遇到了一些问题,这里是对这些问题的一个笔记. 第一步:安装WSL2 docker需要通过WSL2才能运行, ...
- docker pull下载镜像时的报错及其解决方法
docker pull下载镜像时的报错及其解决方法 参考文章: (1)docker pull下载镜像时的报错及其解决方法 (2)https://www.cnblogs.com/it-artical/p ...
- docker 不包含依赖 打包_从零开始学K8s: 4.Docker是什么
"Docker"可以指代的对象可以有如下几个: Docker 容器技术:可以创建和使用Linux容器 Docker 社区:开源Docker社区致力于改进这些技术,使所有用户受益(h ...
- docker+nginx+tomcat*3在华为云服务器上的负载均衡
具体包括: 1,要求部署一台Nginx和三台Tomcat服务器 2,Ngnix需要实现三种策略: 轮询: 权重,三台服务器的权重为1,3,5: IP Hash. 最终实现的效果是,本地电脑通过网页访问 ...
- 服务器上使用docker安装部署禅道zentao
服务器上使用docker安装部署禅道zentao 目的:在服务器上安装docker禅道容器 一.查看服务器是否有禅道容器 docker ps -a 可以查看到所有容器. 二.从docker库下载禅道镜 ...
- 利用VSCode集成并连接远程Linux服务器上的Docker
利用VSCode集成并连接远程服务器Docker 为什么要使用VSCode管理docker 为什么要使用VSCode管理docker 官网地址:https://code.visualstudio.co ...
- mscoreei.dll没有被指定在windows上运行_在Windows上使用Docker运行.NetCore
今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 : ...
- 从FTP服务器下载文件部署更新linux服务器上的服务
作为软件测试人员,经常要发布开发的集成包.本来嘛,更新个服务,没什么大不了.但是集成包打出来,要更新的服务有9个(分别部署在三台服务器上),并且以后还会增加.如果手动更新,每次更新时间都得20分钟以上 ...
最新文章
- 2020亚太杯数学建模_2020 年 APMCM 亚太地区大学生数学建模竞赛
- 最邻近插值法(The nearest interpolation)实现图像缩放
- phpStorm安装xDebug
- Streaming 101
- Excel VBA 处理图形图表详解
- 论肱二头肌在日常生活中的锻炼的持久战|健身达人
- array_sum的用法
- Spark集群新增节点方法
- JPA Example查询
- Excel中VBA相关函数的使用
- 中国互联网20年简史(1998-2018),告诉你本质是什么、规律是什么
- mhl数据线_利用MHL数据线 手机同屏到乐视电视X50air上
- eclipse mars2汉化包下载
- 首届华为开发者大赛沙龙牵手大连-与开发者共话赛事
- 阿卡迪亚大学的计算机科学,阿卡迪亚大学计算机科学移动与普通计算本科申请.pdf...
- 五一假期维修手机感想
- 3.项目立项管理+信息系统项目管理+野马合集
- 大数据分析本身的工业化
- Python的numpy库中rand(),randn(),randint(),random_integers()等random系函数的使用
- 游戏引擎剖析 (10) 人工智能和导航(路径发现)
热门文章
- Selenium定位不到元素的解决方法—iframe挡住了去路
- 为什么我的IP地址经常变化
- 新书出炉:我的视频我做主:Premiere Pro CS5实战精粹(1CD)(彩印)
- Apache Nutch 1.3 学习笔记十(插件机制分析)
- 8.6 edu25 ,577#div2 CF补题(二分 ,dp 与 贪心
- [JZOJ3347] 【NOI2013模拟】树的难题
- 【impala学习之一】impala
- 图解VS2010打包全过程(转)
- spring boot 定时间任务
- Android版MrHuo工作室客户端开发心得(二)