【Docker-12】镜像操作案例+镜像综合实战

打印 上一主题 下一主题

主题 1817|帖子 1817|积分 5451

一、镜像操作案例

1.查找镜像


2.下载镜像


3.查看镜像及列表存储位置

1)遍历查看镜像
  1. root@Nanyiroot:~/test# docker images busybox
  2. REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
  3. busybox      1.36.0    af2c3e96bcf1   22 months ago   4.86MB
  4. busybox      1.35.0    95f45f955052   3 years ago     4.27MB
  5. busybox      1.34.0    8336f9f1d094   3 years ago     1.24MB
复制代码
2)查看镜像仓库在本地的存储信息(ubuntu)


  • 进入 /var/lib/docker/image 目录(默认)
  • 查看overlay2下文件
  • 查看本地镜像

3)镜像过滤


  • 根据仓库名列出镜像
  • 列出特定的某个镜像,也就是说指定仓库名和标签
  • docker image ls 还支持强大的过滤器参数 --filter,大概简写 -f。之前已经看到了使用过滤器来列出虚悬镜像的用法,它另有更多的用法。查看某个位置之前的镜像 before,查看某个位置之后的镜像 since

4.查看镜像具体


5.查看镜像分分层

Docker history 可以查看分层:

docker image inspect 可以查看具体的分层:

一些镜像下载的时候也可以看到是一层一层下载的:

6.打标签


7.推送镜像


8.运行容器



9.镜像删除

镜像的删除:可以根据 id 和名字删除,对于使用的镜像必要先清算容器再删除镜像。

实战一、离线迁移镜像

1.从我们之前上传到dockerhub上pull一个



2.服务器 1 上镜像保存为 tar 文件,如操作系统为MacOS


3.scp 大概只用使用可视化工具拷贝镜像到第二台服务器上


4.从 tar 中恢复镜像


5.执行 docker run 查抄镜像是否可以正常运行

这里失败了,原因是主机架构不一样,mac是linux/arm64/v8,而linux是linux/amd64/v4 ,,,,这里我先欠着,等我到了公司用公司linux呆板做
如果是linux呆板一定会乐成!!!!!!管你ubuntu照旧centos

实战二、镜像存储的压缩与共享

1.拉取 nginx 镜像

如果本地没有,镜像是从仓库拉取,如果有会提示镜像已经存在,并且是最新的。

2.Docker images 查看本地镜像

可以看到该镜像为134MB

3.从上面看到 nginx 为 1.24.1 的大小是 134MB

但是从 docker hub 上查看可以看到镜像是 60.88MB,阐明发生了压缩


因为仓库到本地必要走网络,所以文件越小越好。
4.把一个镜像打多个 tag,然后推送仓库


如果把一个镜像打多个 tag,且说层已经存在,不会重复存储:

5.添加一个新的镜像到我们的仓库的时候,如果 docker hub 发现已经有了是 mount 的,不是从本地推上去的

如果有相同的对象,就直接挂个新tag在上面,实际不占用磁盘空间,所以这几个对象实在共享一个空间,类似于C++中的引用计数




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表