首页 > 其他分享 >Docker镜像管理

Docker镜像管理

时间:2023-10-23 11:37:28浏览次数:39  
标签:tar 管理 image 导出 镜像 Docker save docker

Usage:  docker image COMMAND

Manage images

Commands:
  build       从Dockerfile中构建镜像
  history     显示镜像历史信息,如元数据等。。。
  import      Import the contents from a tarball to create a filesystem image。
  inspect     详细镜像的详细信息
  load        Load an image from a tar archive or STDIN
  ls          列出所有已下载镜像
  prune       删除没有被引用的镜像
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rm          Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  
Run 'docker image COMMAND --help' for more information on a command.

从镜像仓库中获取镜像

# 从仓库中获取镜像
docker pull [选项] <镜像名>[:TAG]

-a 拉取给定镜像的所有TAG【不指定则默认拉取最新的】

例子:

docker pull nginx:1.9.1

推送镜像到镜像仓库

docker push [OPTIONS] NAME[:TAG]

-a, --all-tags                Push all tagged images in the repository


不过一般推送前都会打上标签,使用docker tag 

导出镜像到本地docker save

作用和场景:你制作完一个镜像导出成tar包,然后给其他人导入使用。

应用场景:假设A主机才有网络,B主机没有,那么B主机时无法从镜像仓库下载镜像的,所以可以在A主机中导出镜像,然后分享给B主机(如:通过SCP方式)然后B主机导入镜像使用。

docker save [选项] <镜像名> <镜像名>...
  -o  指定输出的路径
  
  **注意:可以同时导出多个(镜像名可以为多个),如你可以将mogodb和nginx镜像都导出到一个tar包中**

例子:

# 将postgres和mongo镜像导出到/swq/docker/myimages.tar
[root@localhost html]# docker save -o myimages.tar postgres:9.6 mongo:3.4


导入本地镜像文件docker load

docker load [选项] 
  -i 从给定的文件中导入,而不是STDIN
 
  如:docker load -i myimage.tar

打包导出容器的文件系统docker export

导出export

docker export -o <文件名> <容器名/容器ID>

导入import

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Import the contents from a tarball to create a filesystem image

 ** # docker import将container导入后会成为一个image,而不是恢复为一个container。**
  **另外一点是,docker import可以指定IMAGE[:TAG],说明我们可以为镜像指定新名称。如果本地镜像库中已经存在同名的镜像,则原有镜像的名称将会被剥夺,赋给新的镜像。原有镜像将成为孤魂野鬼,只能通过IMAGE ID进行操作。**
  
Options:
  -c, --change list       Apply Dockerfile instruction to the created image
  -m, --message string    Set commit message for imported image
      --platform string   Set platform if server is multi-platform capable

save和export的区别:

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
# 保存一个或者多个镜像到tar归档文件中(默认是保存到STDOUT)
Save one or more images to a tar archive (streamed to STDOUT by default)




Usage:  docker export [OPTIONS] CONTAINER
# 导出容器的文件系统到tar归档文件中
Export a container's filesystem as a tar archive


从官方的介绍来看,我们可以清楚的知道,save保存的是镜像,export保存的是容器的文件系统

  docker的镜像你就好比是装系统的iso镜像,
  容器的文件系统就是好比装完系统的文件系统,你可以在装完后对系统添加、删除文件
  
  那么:
    1、你导出镜像实际上还是镜像(docker中还包含镜像历史记录)
    2、你导出容器容器的文件系统,就包含了你对容器修改后的文件,好比你用自己封装一个gho系统。
    
 
 注意:
   1、docker save 默认是指定镜像名的,如果你指定container容器id/容器名的话,实际是去保存运行这个容器背后的镜像
     应用场景:
       1、你下载一个镜像是国外的,由于防火墙的原因,你只能到外国服务器下,下完后你打包回来,然后再导入到你国内服务器的docker中。
       2、你的服务器不允许访问外国,那么你刚有个项目需要新的镜像才能部署,这时候也是可以使用docker save 与 docker load配合以导入镜像到服务器中。
       
    

其他选项:

#  docker tag的使用:
[root@localhost html]# docker image tag nginx tanginx:666
[root@localhost html]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       7         bd90b3d386b3   3 hours ago     460MB
nginx        latest    605c77e624dd   9 months ago    141MB
tanginx      666       605c77e624dd   9 months ago    141MB
centos       <none>    eeb6ee3f44bd   13 months ago   204MB

标签:tar,管理,image,导出,镜像,Docker,save,docker
From: https://www.cnblogs.com/juelian/p/17782019.html

相关文章

  • Harbor安装和镜像推送
    安装前提:yum-yinstalldocker-compose-plugin安装:tar-zxvfharbor-offline-installer-v2.6.1.tgzcdharborcpharbor.yml.tmplharbor.ymlvimharbor.yml修改hostname为主机IP地址注解掉https的配置。除非你打算用,那就把证书和私钥准备好。运行./installharbo......
  • CRM销售管理系统是如何进行数据分析的?
     数据分析可以帮助销售人员挖掘潜在问题,知晓哪些渠道可以带来更多的客户,为日常的销售工作提供科学依据。当然,要做好数据分析不是一件简单的事,利用好销售管理系统是关键。那么CRM销售管理系统是如何进行数据分析的呢? 1.RFM分析 RFM分析可以通过三个指标对客户进行优先度排......
  • 客户转化率太低?CRM客户管理系统来帮您
     客户是否准确真实、销售跟进策略是否有效、销售跟进流程是否及时等,这些都是影响客户转化的因素。为了提高客户转化率,不少企业开始使用CRM销售管理系统。下面说说销售如何通过CRM系统提高客户转化率?1、CRM能够识别不同渠道线索质量CRM系统能够对不同渠道获取的客户线索进行深......
  • docker 基础
    https://www.bookstack.cn/read/docker_practice-1.3.0/image-list.md1.旧版本的Docker称为docker或者docker-engine,使用以下命令卸载旧版本$sudoapt-getremovedocker\docker-engine\docker.io2.更新apt软件包缓存,并安装dock......
  • 转:docker常用命令
    Docker常用命令整理docker启动:servicedockerstartdocker停止:servicedockerstopdocker重启:servicedockerrestart1.帮助命令docker-h,查看帮助docker-v,查看版本Dockerinfo,查看容器信息2.镜像命令dockerimages:列出本地主机上的镜像dockersearch某个镜像名字......
  • 《安富莱嵌入式周报》第325期:开源可编程精密电阻仪,开源入耳式无线耳机,蓝牙Mesh固件更
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 更新一期视频,趁热打铁,下期CANopen专题视频将在下周发布BSP视频教程第27期:CANopen协议栈专题,实战方式系统了解NMT,PDO,SDO,时间戳,同步报文,紧急报文等(2023-10-17)https://www.armbb......
  • docker迁移
    docker迁移本人使用的是DockerDesktop和WSL2的结合使用,因此该方法估计只能适用于两者的结合,其他的仅供参考由于Docker和WSL2的内存过大,导致C盘不堪负重,爆红了!!排除一堆没用的垃圾后还是没办法,看着日益增长的ext4.vhdx没办法,只能痛下毒手,由于里面存放有sql等重要的内容,建议是备......
  • 鱼类识别系统:基于深度学习的生态保护与渔业管理利器【鱼类识别系统实战】
    当今,人工智能和深度学习已经成为许多领域的关键技术。在生态学和环境保护领域,鱼类识别是一项重要的任务,因为准确识别和监测鱼类种群对于保护水生生物多样性和可持续渔业管理至关重要。基于深度学习的鱼类识别系统能够自动识别和分类不同种类的鱼类,为生态学研究和渔业管理提供有力的......
  • 使用 XShell 连接 Docker 内的虚拟机
    以centos7为例:下载并安装centos71.下载镜像并运行容器dockerrun--namedocker-centos7--privileged--publish522:22--interactive--detachcentos:7/usr/sbin/init2.进入容器修改安装对应软件包和设置root密码dockerexec-itdocker-centos7/bin/bash安装......
  • Objective-C内存管理机制概述
    Objective-C管理的是分配在堆上的NSObject对象的内存,对其他非对象的C语言数据类型(int、char、float、double、struct、enum等)无效。有以下3种方式:手工引用计数和自动释放池(MRC,ManualReferenceCounting),又称手动保留释放(MRR,ManualRetain-Release)垃圾收集(GC,GarbageCollecti......