Docker学习2:基本概念---镜像、容器和Registry

镜像的基本概念

Docker镜像是一个特殊的文件系统。除了提供运行容器所需的程序、库、配置等文件以外,还包含一些为运行时准备的配置参数,如匿名卷,环境变量,用户等。
镜像不包含任何动态的数据。

镜像被设计为分层存储的架构,因为镜像往往需要包含操作系统的完整root文件系统,而完整的root文件系统体积比较庞大,因此将镜像设计为分层存储。

镜像是个虚拟的概念,其本身并不是一个类似打包文件,即实际的实现并不是单个的文件,而是由一组文件系统组成,或者是由多层文件系统组成。

镜像构建时,是按照层构建的。前一层是后一层的基础。每一层构建完成后就不会再改变,后面的任何一层的改变只发生在自己的层上,不会更改之前的层的内容数据。例如,删除前一层的文件,并不是真正的删除前一层中的文件数据,而是在当前层标记前一层的文件为删除。因此被删除的文件其实会一直保留在镜像系统中。

因此在构建镜像时,需要保证每一层只包含必要的内容,任何额外的数据在该层构建结束之前必须清理掉,否则会一直保存在该层中,导致镜像中包含不必要的数据,进而增加镜像的体积与冗余程度

分层存储的架构设计,可以利用之前构建好的镜像作为基础层,进一步添加新的层,以定制自己所需的新的镜像。

容器的基本概念

镜像与容器的关系,类似面向对象编程中类和实例的关系。容器是镜像运行的实体。容器可以被创建,启动,停止,删除等。

容器实质是进程,但是容器中的进程运行于属于自身的命名空间。容器中的进程运行在一个隔离的环境中,使用起来好像是在独立于宿主机的操作系统下运行一样。

每一个容器的运行,都以镜像为基础层,在其之上创建一个当前容器的存储层,称这个为容器运行时读写而准备的存储层为容器存储层

容器存储层的生命周期和容器一样,在容器被删除时,容器存储层也将消失,保存于容器存储层的数据也将丢失。因此按照docker最佳实践的要求,容器存储层不应该保存任何的数据。所有数据的保存,都应该使用数据卷,或者绑定宿主机的目录

Registry的基本概念

Docker Registry是一个集中存储,分发镜像的服务。

一个Docker Registry中往往包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。

通常一个仓库会包含同一个镜像的不同版本,标签对应镜像的版本号。可以使用<仓库>:<标签>的形式来指点特定的镜像。

用户可以在本地搭建私有的Docker Registry。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dial tcp:lookup registry-1.docker.io 这个错误通常表示的是访问注册表(Registry) 时出现了连接问题或者 DNS 解析问题。Docker 是一种开源的容器化引擎,它可以在 Linux、Windows 和 macOS 等不同的操作系统上运行,能够将应用程序及其依赖打包成可移植的容器来简化应用部署。Docker 中的镜像(Image) 是容器的基础模板,其存储在 Docker 的注册表中,当运行一个容器时,Docker 引擎会自动从注册表下载相应的镜像。所以如果出现了 dial tcp:lookup registry-1.docker.io 错误,那么我们无法下载镜像,也就无法运行容器。 造成 dial tcp:lookup registry-1.docker.io 错误的原因可能有很多,可能是网络不稳定、DNS 解析问题、代理问题以及操作系统配置等。解决这种错误的方法也有很多,可以尝试更改 DNS 解析设置、切换到稳定的网络,或者禁用代理等措施。一些解决方法如下: 1. 修改 DNS 设置。一些情况下 DNS 缓存造成了问题,需清除 DNS 缓存,重新解析。另外,有时候也可以修改本地的 DNS 设置,在/etc/resolv.conf 文件中添加 Google 的 DNS 8.8.8.8 即可。命令为: echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null 2. 检查网络连接。首先确定本地的网络连接是否正常。可以使用 ping 命令检测 DNS 是否正常解析,然后再尝试连接 Docker 服务器。如果是代理的问题,尝试关闭代理,再重试一下。 3. 更新操作系统。检查操作系统是否需要更新,特别是针对网络连接方面。 4. 更换 Docker 镜像源。由于网络原因,国内镜像源可能无法正常访问,所以可以尝试更改 Docker 镜像源为国外的源,比如 Docker 官方的镜像源等。 总之,如何解决 dial tcp:lookup registry-1.docker.io 错误是需要具体情况具体分析,解决方法也可能因具体情况而异,需要根据错误提示和具体问题来进行判断和解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值