美文网首页Docker轻松入门教程
Docker镜像的概念和使用

Docker镜像的概念和使用

作者: 字节码在跳舞 | 来源:发表于2024-04-10 00:51 被阅读0次

    1. Docker镜像的概念

    2. 从Docker Hub获取镜像

    3. 列出镜像

    4. 删除镜像

    5. 打标签(创建副本)

    6. 镜像打包tar和从tar包导入

    7. 搜索镜像

    8. 查看镜像

    1. Docker镜像的概念

    Docker镜像是Docker容器运行的基础,是一个轻量级、可执行的文件,它是构建容器的模板,在Docker中扮演着重要的角色,每一个镜像包含一套预先配置好的文件系统和运行环境。

    每一个镜像由多层文件系统组成,每一层有一个唯一的id,id为每一个层计算一个SHA256校验和,镜像本身是只读的,当有安装软件、更新配置的新操作,Docker会基于该容器创建一个可读写。

    特点:

    • 分层结构,采用层叠方式构建镜像文件,新操作和变更会生成新层,每一个层有唯一id,在本地只会存储一份,有利于资源重复利用,提高存储效率,缓解磁盘存储上的压力。
    • 便携,镜像文件可以在任何安装了Docker的环境运行,因为其中包含了运行应用所需的所有依赖和配置等。
    • 标签化管理,Docker镜像通过标签可以进行版本控制,例如:redis:latest、redis:bookworm等,方便识别和选择不同的镜像构建我们自己的镜像。

    2. 从Docker Hub获取镜像

    Docker Hub是一个公共的镜像仓库,可以在其中找到各种各样的镜像,包括官方镜像、社区镜像、用户上传的自定义镜像等。可以使用docker pull命令从Docker获取镜像。

    获取镜像:通过在终端中运行docker pull命令,指定镜像名称和标签,即可从Docker Hub获取指定镜像。

    例如:使用docker pull ubuntu将会获取ubuntu最新版本的镜像,拉取镜像时,如没有指定标签,默认会拉取标签为latest的镜像,如下为执行docker pull ubuntu结果信息。

    也可以从非官方仓库下载,需要在要拉取的镜像名称前指定完整的仓库地址,例如从阿里云容器镜像服务下载ubuntu:jammy镜像,这个时候需要指定完整仓库地址,

    registry.cn-beijing.aliyuncs.com/hello/ubuntu:jammy

    拉取镜像镜像命填写规则:

    [Registry 仓库地址]/[NamesSpace 命名空间]/[Image Name 名称]/[Tag 标签]

    • Registry:是可选的,默认会从Docker Hub拉取。
    • NamesSpace:官方镜像时不需要填写,如自己上传的镜像,需要指定。
    • Image Name:必须指定。
    • Tag:如果不指定,默认为latest

    以下是为官方镜像库拉取redis:bookworm镜像的信息。

    8a1e25ce7c4f、954e4e27d2f0、db33f581d00e...,这些每一行开头的值即每一层的id。每一层本地只会存储一份,可以有效的缓解磁盘存储压力。

    3. 列出镜像

    查看本机一共有哪些镜像文件。

    使用命令docker imagesdocker image ls,如下

    过滤特定名称 比如ubuntu可以,使用docker images ubuntu:jammydocker image ls ubuntu:jammy

    4. 删除镜像

    删除掉已经不再使用的镜像。

    使用命令docker rmi [image name:tag],tag省略为删除tag为latest的镜像文件。

    5. 打标签(创建副本)

    如推送,需要打包为合适的名称,这个时候可以重新打一个标签,使其符合要求。

    使用命令docker tag [old image name:old tag] [new image name;new tag]

    docker tag ubuntu:jammy ubuntu:hello创建了一个用ubuntu:jammy镜像,创建了一个新的镜像,标签为ubuntu:hello

    6. 镜像打包tar和从tar包导入

    有时候由于网络原因无法拉取镜像或备份镜像,可以找一台网络ok的主机进行镜像拉取操作,保存为tar包,通过离线复制到网络不佳的主机,进行导入。

    使用命令docker save -o [文件名称] [镜像名称:标签]

    此时使用ls命令可以看到生成的hello.tar文件,您可以将其复制到另一台已安装Docker的主机上并导入镜像:

    使用命令从tar文件中导入镜像:

    执行后,输出信息将显示已成功加载的镜像名称和标签。通过运行docker images命令,可以验证导入的镜像ID是否与之前导出的一致。

    这样,您就能高效地管理和迁移Docker镜像,在不同环境中快速部署稳定一致的应用程序环境,并便于与他人共享镜像资源。

    7. 检索镜像

    可以用过Docker Hub网页,在线输入关键字进行检索,同时也可以通过终端,使用命令的形式进行检索。

    通过Docker Hub检索

    dockerhub1.png dockerhub2.png

    通过终端检索,使用命令docker search [镜像名称]。会显示与debian相关的镜像。

    8. 查看镜像

    docker inspect 用于获取Docker对象(如容器、镜像、网络、卷等)的详细信息。当你想要查看某个Docker镜像或容器的详细配置、元数据以及底层的JSON表示时,这个命令非常有用。

    通过这些基本操作,大家可以高效地管理Docker镜像,搭建稳定、一致的应用环境,并方便的与他人协作分享。

    忍不住要加个关注!不是我吹,但你会后悔没关注的!

    相关文章

      网友评论

        本文标题:Docker镜像的概念和使用

        本文链接:https://www.haomeiwen.com/subject/sekqxjtx.html