我想知道Docker的图像到底存储在我本地主机的哪里。我可以不使用docker-hub
或dockerfile
而使用“真实”Docker-Image共享我的Docker-Image吗?当我将我的Docker-Image“推”到Docker-Hub时,到底发生了什么?
Docker映像存储为文件系统层。Dockerfile中的每个命令都创建一个层。您还可以在进行一些更改后(可能通过docker run
)从命令行使用docker commit
创建层。
默认情况下,这些层存储在/var/lib/docker
下。虽然您可以(理论上)从那里挑选文件并将其安装到不同的docker服务器中,但使用docker使用的内部表示形式可能是个坏主意。
当您推送您的图像时,这些层被发送到注册表(默认情况下是docker hub注册表…除非您用另一个注册表前缀标记您的图像)并存储在那里。推送时,层id用于检查您是否已在本地拥有该层或需要下载该层。您可以使用Docker History
来查看使用了哪些层(其他图像)(以及在某种程度上是哪个命令创建了该层)。
至于在不推送到docker hub注册表的情况下共享映像的选项,您的最佳选项是:
>
Docker Save
图像或Docker Export
容器。这将把一个tar文件输出到标准输出,因此您需要执行类似docker save'dockerizeit/agent'>dk.agent.latest.tar
的操作。然后可以在不同的主机中使用Docker Load
或Docker Import
。
托管您自己的私有注册表。-已过时,请参阅备注 <罢工> 请参阅 docker注册表映像。我们建立了一个 s3支持的注册表,您可以根据需要启动和停止该注册表(所有状态都保留在您选择的s3存储桶中),这对安装来说是很简单的。这也是一种有趣的方法,可以用来观察推入注册表时发生的情况
使用另一个注册表,比如quay.io(我还没有亲自尝试过),尽管您对docker hub的任何顾虑可能也适用于这里。
问题内容: 我想知道Docker的映像到底存储在本地主机中的什么位置。我可以不使用或而是“真实”的Docker- Image 来共享我的Docker-Image吗?当我将Docker-Image“推”到Docker-Hub时到底发生了什么? 问题答案: Docker映像存储为文件系统层。Dockerfile中的每个命令都会创建一个层。您也可以在进行一些更改后(可能通过)在命令行中使用来创建图层。
有没有一种方法可以下载Docker映像/容器,例如,使用Firefox,而不使用内置的。 我被公司防火墙和代理屏蔽了,我无法通过它得到一个洞。 我的问题是我不能使用Docker获取图像,即Docker保存/拉取和其他Docker提供的功能,因为它被防火墙阻止了。
本节讲述了 Docker Hub 的快速入门,包括如何创建一个账户。 Docker Hub 存放着 Docker 及其组件的所有资源。Docker Hub 可以帮助你与同事之间协作,并获得功能完整的 Docker。为此,它提供的服务有: Docker 镜像主机 用户认证 自动镜像构建和工作流程工具,如构建触发器和 web hooks 整合了 GitHub 和 BitBucket 为了使用 Dock
问题内容: 我正在尝试通过Windows 7计算机上的Docker容器设置开发人员环境。 我已经为Windows安装了Docker工具箱。 我有一个包含Apache和PHP 5.6的映像,这里是: 该映像已创建,当我在Docker快速入门终端中运行“ docker映像”时可以看到它。 在我的apache-config.conf中,我只有一个小的虚拟主机,仅使用index.php文件即可访问测试网站
所以我在docker hub有一个私有存储库,我正在尝试使用HTTP API手动下载图像(blob)。 现在有一些问题 我试过了https://hub.docker.com/support/doc/how-do-i-authenticate-with-the-v2-api这个脚本运行正常,我可以看到我的标签 但是docker HUB api中没有API可以从标签中获取blob列表然后下载它。 有一
问题内容: 我使用带有标签的php docker容器作为基础: 当我尝试重新启动容器内的apache2时,容器停止: 如何在不停止容器的情况下重新启动apache2? 在将更改放入dockerfile之前,我想使用容器并对其进行自定义。我想安装一些扩展程序,为了使其正常工作,我需要重新启动apache才能使更改生效。 这是通过以下文件的日志文件: 问题答案: 如果将apache用作保持运行容器的主