本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== docker的镜像搬运工具 ====== 我们需要在多个docker仓库之间搬运,或者把仓库的镜像搬运到本地,或者搬运到本地的时候extract展开,这里讨论常用的方法 ===== occystrap 搬运 ===== 项目地址:https://github.com/shakenfist/occystrap 安装方式:''pip install occystrap'' 如果你要访问的repo仓库是 https自签证书的,浏览器直接访问https会报错的那种,需要补丁下代码,默认的代码是强校验https证书,不通过会失败。 访问:.venv\Lib\site-packages\occystrap\util.py 或者取决于使用的 python解释器的位置。 实在找不到,就用 everything全局搜索occystrap文件夹 找到 <code python util.py > # 找到 request_url 函数,修改为【增加:verify=False)】 def request_url(method, url, headers=None, data=None, stream=False): if not headers: headers = {} headers.update({'User-Agent': get_user_agent()}) if data: headers['Content-Type'] = 'application/json' r = requests.request(method, url, data=json.dumps(data), headers=headers, stream=stream, verify=False) </code> 即可正常执行docker搬运,默认支持: * fetch-to-extracted * fetch-to-mounts * fetch-to-oci * fetch-to-tarfile * recreate-image 这里以远程下载docker镜像,并在本地解压为例,方便我们脱离docker环境查看镜像的内容。 参数风格: repo仓库ip或地址 镜像坐标 版本号 本地的文件夹路径 ''occystrap fetch-to-extracted 172.10.10.10 public/nginx 1.1.1 nginx-1.1.1.1'' ===== 使用skopeo搬运 ===== ''sudo apt install skopeo'' 然后把远程镜像导出到本地,不解压的导出 ''skopeo copy --src-tls-verify=false docker://10.0.0.1/public/nginx:1.1.1 dir:./local-image'' src-tls-verify 是可选的,如果是本地自签证书,就需要人肉忽略