我在办公室工作,我的笔记本电脑可以联网,但受到严格控制。我不允许在上面安装未经授权的软件。
我的开发工作站是我可以随意使用的,但它没有互联网连接。
有什么方法可以让我从集线器下载 Docker 图像作为文件,然后我可以将其从 Sneaker-net 下载到我的开发工作站?类似于我如何下载 RPM 或 Ruby Gem 并将它们刻录到 CD?或者是使用“docker pull”命令下载图像的唯一方法?
我在办公室工作,我的笔记本电脑可以联网,但受到严格控制。我不允许在上面安装未经授权的软件。
我的开发工作站是我可以随意使用的,但它没有互联网连接。
有什么方法可以让我从集线器下载 Docker 图像作为文件,然后我可以将其从 Sneaker-net 下载到我的开发工作站?类似于我如何下载 RPM 或 Ruby Gem 并将它们刻录到 CD?或者是使用“docker pull”命令下载图像的唯一方法?
简短:使用
save
CLI 命令。https://docs.docker.com/engine/reference/commandline/save/
您可以在可以访问 Internet 的计算机上提取图像。
然后您可以将此图像保存到文件中
在离线计算机(USB/CD/其他)上传输文件并从文件中加载图像:
(在旧版本中,这只是
docker load image.docker
,请参阅评论以获取更多信息。)我意识到已经有一个公认的答案,但是我想提供这个解决方案,我认为它更直接地解决了所提出的问题:“如何在不使用 Docker 执行检索的情况下下载 Docker 映像?”
我有一个类似的问题,我公司的政策要求我向团队提供我想要使用的文件(通常通过 URL)。然后,他们将执行各种扫描和审核,然后将文件放置到我们断开连接的开发网络上。我不能使用 Docker 来检索文件,然后将其导出并交给该团队,因此提供的其他答案对我来说不是一个选项。
幸运的是,我在 StackOverflow 上找到了这个答案,它建议使用 GitHub 上 samalba 提供的有用工具:https ://github.com/samalba/docker-registry-debug
当然,该工具是使用 Docker 构建的,而我需要它的部分原因是因为我没有对 Docker 的开放访问权限:)。因此,由于我没有该选项,因此我将在此处详细说明我采取的步骤(这是从该仓库提交 05fffc4344fd6f866f84c403caae3ba81193dd45 的全部内容):
该命令的输出是一个完整的 curl 命令行,可用于下载文件:
希望这对其他人有帮助!