docker镜像和容器的导入导出及常用命令

CSDN云计算 CSDN云计算     2022-11-30     319

关键词:

作者 | 微枫Micromaple

来源 | CSDN博客

Docker 镜像和容器的导入导出

1.1 镜像的导入导出

1.1.1 镜像的保存

  • 通过镜像ID保存

    • 方式一:

docker save image_id > image-save.tar

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save 87a94228f133 > nginx-save.tar
    • 方式二:

docker save -o image-save.tar image_id

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar 87a94228f133
  • 通过镜像repository和tag保存

docker save -o image-save.tar repository:tag

例如:

root@Ubuntu:/usr/local/docker/nginx# docker imagesREPOSITORY      TAG                 IMAGE ID       CREATED         SIZEopenjdk         8-jre               26ac3f63d29f   2 months ago    273MBnginx           1.21.3              87a94228f133   4 months ago    133MBroot@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar nginx:1.21.3

1.1.2 镜像的导入

  • 方式一:

docker load < nginx-save.tar
  • 方式二:

docker load -i nginx-save.tar
  • 注意

    • 使用 image_id作为参数的方式导出的镜像包进行导入会出现 none的情况,需要手动打标签

docker tag 87a94228f133 nginx:1.21.3
    • 使用镜像 repository:tag 作为导出参数的方式则正常

1.2 容器的导入和导出

1.2.1 容器的导出

容器的导出是将当前容器变成一个容器包

root@Ubuntu:/usr/local/docker/nginx# docker ps -aCONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS       PORTS                                        NAMES66b23477cdc6   nginx:1.21.3  "/docker-entrypoint.…"   7 days ago   Up 3 hours   80/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp    nginx_51tjroot@Ubuntu:/usr/local/docker/nginx# docker export -o nginx-export.tar 66b23477cdc6

1.2.2 容器包的导入

docker import nginx-export.tar nginx:1.21.3-new

export 和 import 导出的是一个容器的快照, 不是镜像本身, 也就是说没有 layer。 

你的 dockerfile 里的 workdir, entrypoint 之类的所有东西都会丢失,commit 过的话也会丢失。 

快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也更大。

注意:

  • docker save 保存的是镜像(image),docker export 保存的是容器(container);

  • docker load 用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像;

  • docker load 不能对载入的镜像重命名,而 docker import 可以为镜像指定新名称。

Docker 常用命令

查看 Docker 版本

docker version

从 Docker 文件构建 Docker 映像

docker build -t image-name docker-file-location

运行 Docker 映像

docker run -d image-name

查看可用的 Docker 映像

docker images

查看最近的运行容器

docker ps -l

查看所有正在运行的容器

docker ps -a

停止运行容器

docker stop container_id

删除一个镜像

docker rmi image-name

删除所有镜像

docker rmi $(docker images -q)

强制删除所有镜像

docker rmi -r $(docker images -q)

删除所有虚悬镜像‍

docker rmi $(docker images -q -f dangling=true)


docker image prune

删除所有容器

docker rm $(docker ps -a -q)

进入 Docker 容器

docker exec -it container-id /bin/bash

查看所有数据卷

docker volume ls

删除指定数据卷

docker volume rm [volume_name]

删除所有未关联的数据卷

docker volume rm $(docker volume ls -qf dangling=true)

从主机复制文件到容器

sudo docker cp host_path containerID:container_path

从容器复制文件到主机

sudo docker cp containerID:container_path host_path

读到这里,想必你已经对 Docker 容器和镜像的常用操作以及命令有了更加深入的理解。

往期推荐

40 张图 详解 Docker 容器监控

剖析 kubernetes 集群内部 DNS 解析原理

Kubernetes 在科技革命中的演变

实战 Kubectl 创建 Deployment 部署应用

点分享

点收藏

点点赞

点在看

docker容器——导出与导入镜像

...,再次导入时无原有历史遵循的镜像记录。至此,我们在docker中比较常用的导入导出功能就演示完成了,有需要的小伙伴可以直接拿走替换一下自己的名称即可,后续我会进行整理出来我常用的一些docker命令、使用案例、具体描... 查看详情

docker常用命令及配置修改(代码片段)

docker修改国内源仓库地址:vim/etc/docker/daemon.json"registry-mirrors":["https://registry.docker-cn.com"]docker常用命令docker--help:获取docker帮助dockercontainer:创建docker镜像镜像管理:dockerimage--helpls:列出镜像images:查看所有镜像信息history:... 查看详情

docker之镜像管理常用命令

1.列出当前本地镜像:dockerimagels2.查看镜像历史分层:dockerhistory镜像名:tag3.查看镜像具体详情:dockerimageinspect镜像名:tag可以看到容器配置主机名,工作目录,数据卷,标签等信息。4.dockerimagepullnginx:1.11从docker仓库下载nginx:1.11... 查看详情

dockercentos64位安装及常用命令(代码片段)

DockerCentos64位安装及常用命令1.Docker安装(1).添加yum源(2).安装运行Docker(3).检查安装结果(4).Docker启动和关闭1).启动2).关闭3).重启2.Docker常用命令(1).搜索镜像(2).列出当前系统存在的镜像(3).拉取镜像(4).运行容器(5).列出当前运行的容器... 查看详情

docker容器学习整理(代码片段)

一、使用Docker镜像1.1docker常用命令1.2创建镜像1.3存出和载入镜像1.4上传镜像二、操作docker容器2.1创建容器2.2终止容器2.3进入容器2.4删除容器2.5导入和导出容器三、访问Docker仓库一、docker基本管理1.1docker常用命令1.1.1dockerimages#列出... 查看详情

云原生•dockerdocker常用命令总结(值得收藏)(代码片段)

上一篇文章大家应该了解和搭建了Docker环境,Docker是一个开源的应用容器引擎。直通车:【云原生•Docker】初识Docker和Docker的坏境搭建(保姆级教学)作为一名开发或者运维人员,掌握Dcoker的命令是必不可少的。Docker命... 查看详情

docker数据与管理

docker镜像的创建方法创建镜像的方法有三种,分别是基于已有的镜像创建,基于本地模板创建及基于docker创建。基于已有镜像创建基于已有的镜像创建主要使用dockercommit命令,常用选项:-m:说明信息-a:作者信息-p:生成过程中... 查看详情

开发者必备丨docker客户端常用命令分享

学习Docker,首先需要了解Docker基本概念,我们在以前的文章中介绍过docker的基本原理和部署操作系统。今天讲下嵌入式开发中docker客户端常用的命令,开始进入“动手”阶段(也就是敲Docker命令)。Docker命令较多,这里笔... 查看详情

容器和镜像的导入导出及部署(代码片段)

一、镜像导出save1.查看镜像dockerimages2.导出镜像dockersave-otest.tarimage_name或dockersaveimage_name>/test.tar二、容器导出export1.导出容器命令格式为:dockerexport[-o|--output[=""]]CONTATINER  或:dockerexport容器id/name>文件名.tar 例如:d... 查看详情

docker实践之镜像启动及常用命令

参考技术A前面简单的介绍了如何在Linux中安装Docker,这节内容,我们学习Docker镜像启动我们Docker启动镜像从哪里来呢?镜像由我们自己或者他人构建,构建好的镜像可以直接放在本地或者上传到远程镜像仓库。当我们运行一个Doc... 查看详情

docker最常用的镜像命令和容器命令(代码片段)

学习Docker最常用的镜像命令和容器命令原文来自:cnblogs.com/mrhelloworld/p/docker4.html本文列出了Docker使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份。熟练练习这些命令以后,再来一... 查看详情

docker镜像

四、Docker镜像1、Docker镜像是什么?  容器运行的基础,一层一层的文件系统,运行容器所需的数据2、镜像组织结构image里面是一层层文件系统,叫做UnionFS(联合文件系统)。这一个链接就够了3、镜像写时复制COW  ... 查看详情

docker镜像导入导出

...镜像)。所以,我们就需要通过以下方法得到容器ID:sudodockerps-a接着执行导出:sudodockerexport<CONTAINERID>>/home/export.tar 最后的结果是一个2.7MB大小的Tar文件(比使用save命令稍微小些)。 保存(Save) Save命令用于 查看详情

docker常用命令(代码片段)

docker的常用命令帮助命令镜像命令查看镜像搜索镜像下载镜像删除镜像容器命令新建容器并启动列出所有运行的容器退出容器删除容器启动和停止容器的操作查看容器中的进程信息查看镜像的元数据进入当前正在运行的容器将容... 查看详情

docker常用命令(代码片段)

docker的常用命令帮助命令镜像命令查看镜像搜索镜像下载镜像删除镜像容器命令新建容器并启动列出所有运行的容器退出容器删除容器启动和停止容器的操作查看容器中的进程信息查看镜像的元数据进入当前正在运行的容器将容... 查看详情

docker----常用命令(镜像和容器的常用命令)(代码片段)

帮助命令dockerversion     #显示docker的版本信息dockerinfo        #显示docker的系统信息,包括镜像和容器的数量docker命令--help    #帮助命令帮助文档的地址:https 查看详情

docker导入和导出镜像

Docker导入和导出镜像Docker允许把镜像导出到本地文件,导出命令为dockersave,首先我们来看一下该命令的使用方式。[plain]viewplaincopy$sudodockersave--help可以看到dockersave的命令使用非常简单,就一个-o参数来指定把镜像输出到哪个文件... 查看详情

docker实践:容器内信息获取命令的执行容器的导入和导出(代码片段)

一、依附容器依附操作attach通常用在由dockerstart或者dockerrestart启动的交互型容器中。由于dockerstart启动的交互型容器并没有具体终端可以依附,而容器本身是可以接收用户交互的,这时就需要通过attach命令来将终端依附到... 查看详情