【6.1】docker基础知识 镜像

2022-03-21  本文已影响0人  王滕辉

http://c.biancheng.net/view/3145.html

  镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象,镜像内部是一个精简的OS,同时还包含应用运行所必须的文件和依赖包,因为容器的设计初衷就是快速和小巧,所以镜像通常都比较小。镜像可以理解为一种构建时(build-time)结构,而容器可以理解为是一种运行时(run-time)结构。
   Docker镜像由一些松耦合的只读镜像层组成,采用docker pull imageName:tag ,可以看出以Pull complete结尾的每一行都是一个镜像层。可以采用docker image inspect查看到Layers信息。
  所有的Docker镜像都起始于一个基础镜像层,当进行修改或者增加新的内容时,就会在当前镜像层之上,创建新的镜像层,比如,一个centos:7的镜像,添加了Python包,那么就会在基础镜像层上添加一个镜像层,比如再打了一个安全补丁,又会创建一个新的镜像层。
通常使用docker container run和docker service create命令从某个镜像启动一个或多个容器,一旦容器从镜像启动后,二者之间就有依赖关系,并且在镜像启动的容器全部停止之前,镜像是无法被删除的。

一个完整的镜像名称由三部分组成,比如192.168.0.103:500/os/centos:7

镜像相关命令

# 查找
docker search centos

# 拉取
docker pull centos

# 修改标签
docker  tag centos 192.168.0.105:5000/centos:v7
#docker  tag  镜像id  仓库:标签

# 推送
docker push 192.168.0.105:5000/centos:v7

# 导出
docker save -s centos /home/centos.tar

# 删除
docker rmi centos

# 导入
docker load -i  /home/centos.tar 

# 列出所有镜像
docker image ls

# 镜像的细节
docker image inspect 

# 虚悬镜像
# 由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image)
docker image ls -f dangling=true

# 删除未被使用的镜像
docker image prune


# 删除所有仓库名为 redis 的镜像
docker image rm $(docker image ls -q redis)

# 删除所有在 mongo:3.2 之前的镜像
docker image rm $(docker image ls -q -f before=mongo:3.2)

# 查询帮助
docker image --help

点波关注 系统搭建(docker)

上一篇 下一篇

猜你喜欢

热点阅读