Docker镜像操作应用指南
  2HyDHh3MOg71 2023年11月13日 27 0

Docker 镜像是 Docker 生态系统的最重要的概念。本文将介绍它们的基本概念、操作和使用方法,希望可以帮助小伙伴们更好地理解和应用 Docker 技术。在此之前我们先了解一下Docker架构,可以帮助我们更好的理解Docker镜像操作

1.Docker架构

我们昨天已经安装了Docker,因此今天才可以操作Docker镜像。

Docker在 CentOS 上部署

Docker是一个C/S架构,由两部分组成:

  • Server(服务端):Docker 服务器是运行在宿主机上的守护进程,负责管理和执行容器,还与内核交互,控制宿主机资源的分配和隔离,以确保容器的安全性和性能
  • Client(客户端): 用户可以使用 Docker 客户端发送命令请求给服务器,例如创建、启动、停止、删除容器等操作。Docker 客户端可以在任何支持 Docker 的系统上运行,包括 Windows、macOS 和 Linux。

Docker镜像操作应用指南_Docker

2.Docker镜像操作

Docker 镜像是一种轻量级、可移植的软件包,包含了运行应用程序所需的所有文件、配置和依赖项(即将应用程序及其依赖、环境、配置打包在一起) 。它类似于虚拟机中的镜像,但比虚拟机镜像更加轻量、易于管理和部署。

2.1. 镜像名称

要操作Docker镜像,首先要知道Docker镜像名称的组成,包含两部分:

  • 镜像仓库名称(Repository Name):镜像仓库名称用于标识镜像所存储的位置或来源
  • 镜像标签(Tag): 通常,latest 被用作默认标签表示最新版本的镜像,在没有指定tag时,默认是latest,代表最新版本的镜像。

格式如下:

# 镜像仓库名称:镜像标签
nginx:1.25.2

Docker镜像操作应用指南_nginx_02

这里的nginx就是repository,1.25.2就是tag,合一起就是镜像名称,代表1.25.2版本的nginx镜像。

2.2. 镜像操作

常见的镜像操作,如图所示:

  • docker build:构建镜像
  • docker images: 查看本地镜像信息
  • docker  rmi:删除镜像
  • docker pull: 从镜像仓拉取镜像
  • docker push: 将本地打包的应用镜像推送到镜像服务器
  • docker save: 保存镜像为压缩包(一般网速不好时使用,找一个网速好的地方将镜像打包,然后再加载镜像进行使用)
  • docker load:加载压缩包为镜像

思考:如何删除所有本地镜像

思考:如何保存所有镜像到磁盘

根据本文结构,文章最后会介绍这两个思考的实现。

Docker镜像操作应用指南_Docker_03

2.2.1. 镜像拉取和查看操作

需求:从DockerHub中拉取一个nginx镜像并进行镜像操作

  • 1.从镜像仓库搜索nginx镜像,比如DockerHub仓库: https://hub.docker.com/

Docker镜像操作应用指南_Docker_04

  • 2.根据镜像名称拉取镜像
  • 格式:

docker pull Repository:Tag

拉取nginx镜像命令:

docker pull nginx  # 不写tag,默认为latest,表示镜像的最新版本

Docker镜像操作应用指南_docker_05

  • 3.查看本地镜像列表
docker images

Docker镜像操作应用指南_Docker_06

  • 4.查看本地镜像并查找符合条件镜像
docker images | grep nginx

Docker镜像操作应用指南_nginx_07

如果您觉得本文不错,欢迎关注,点赞,收藏支持,您的关注是我坚持的动力!

Docker镜像操作应用指南_nginx_08

springboot葵花宝典

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

157篇原创内容


公众号


2.2.2  镜像保存和导入镜像

需求:利用docker save将nginx镜像导出磁盘,然后再通过load加载回来

  • 1.利用docker xx --help命令查看docker save和docker load的语法
docker save --help

Docker镜像操作应用指南_docker_09

格式:

docker save -o [保存的目标文件名称] [镜像名称]

使用docker save导出nginx镜像到磁盘:

docker save -o nginx.tar nginx:latest

Docker镜像操作应用指南_docker_10

  • 2.删除nginx镜像
# 删除镜像
docker rmi nginx:latest
# 查看本地镜像列表
docker images

Docker镜像操作应用指南_Docker_11

  • 3.docker load加载nginx镜像
# 加载nginx镜像
docker load -i nginx.tar 
# 查看本地镜像列表
docker images

Docker镜像操作应用指南_Docker_12

2.4 保存本地的所有镜像到磁盘

docker save -o all.tar $( docker images --format "{{.Repository}}\t{{.Tag}}" | awk '{print $1":"$2}')

Docker镜像操作应用指南_docker_13

2.5 删除所有镜像

删除所有镜像,也是使用的docker rmi 命令

Docker镜像操作应用指南_nginx_14

  • 1.先查看一下所有本地镜像的id
docker images -q
  • 2.删除本地所有镜像,强制删除
docker rmi -f $(docker images -q)

Docker镜像操作应用指南_Docker_15

  • 3.docker load加载所有镜像
docker load -i all.tar

Docker镜像操作应用指南_Docker_16

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年12月11日   31   0   0 nginx客户端服务端
  wwLZeziuqjLR   2023年12月11日   32   0   0 Dockercentos
  MCWYWqSAMsot   2023年12月11日   33   0   0 Docker
  stLBpDewCLT1   2023年12月08日   30   0   0 nginx
  DnoStTHsc0vp   2023年12月11日   27   0   0 Docker
  wwLZeziuqjLR   2023年12月08日   103   0   0 Dockercentosbash
  jnZtF7Co41Wg   2023年12月10日   22   0   0 nginx客户端服务端NFS