1.docker容器的导入和导出

一、docker容器的导出

docker export [options] container
OPTIONS说明:
-o表示输出的文件,这里指定了输出的路径,如果没有指定路径,则默认生成到当前文件夹。
示例1:docker export -o redis.tar.gz redisdocker export redis > redis1.tar.gz
说明:将运行中的redis容器导出为redis.tar.gz包

scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>

二、docker容器的导入

从tar包导入内容为docker镜像
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS说明:
-c :应用docker 指令创建镜像;
-m :提交时的说明文字
示例1:docker import redis.tar.gz redis:v1
示例2:docker import https://example.com/exampleimage.tgz

2.将容器打包成镜像

可以使用docker commit命令来完成,docker commit可以从容器创建一个新的镜像

一、语法格式:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

二、参数说明:

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停

三、容器打包成镜像:

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

docker stop 2a2a11e2c043
docker commit -a "alway.com" -m "socks5" 2a2a11e2c043  alway.com/wangwei/socks5:v1
docker commit -a "zoeyqq" -m "my rabbitMQ" 03748a8f19cb  rabbitmq:v1

四、镜像的导入&导出

导入

在镜像包所在的文件夹下操作

docker load --input uu.tar(也可以使用docker load -i uu.tar或者 docker load < uu.tar)
docker load < uu.tar

导出

docker save > /root/docker_images/uu.tar ubuntu:latest
docker save /root/docker_images/ubuntu:latest > uu.tar
docker save -o /root/docker_images/[镜像名].tar [镜像名]:latest

启动镜像
docker run -it -d --name container-name -pp1:p1-pp2:p2new-image-nam
docker run -it -d --name qinglong -p 5700:5700 alway.com/wangwei/qinglong:v1

五、容器导入导出与镜像导入导出区别

export/import 操作对象:容器 导出对象:tar文件 导入对象:镜像 镜像层数:一层
save/load 操作对象:镜像 导出对象:tar文件 导入对象:镜像 镜像层数:多层
说明:
你需要把 A 机器上的 甲 容器迁移到 B 机器, 且 甲 容器中有重要的数据需要随之一起迁移的, 就可以使用 export 和 import 参数来导入和导出
【导入的镜像层数】
最大的区别就在这里, 通过export 和 import导出的容器形成镜像时, 该镜像只有一层。通过save 和 load 导出的镜像保留了原镜像所有的层次结构, 导出时原镜像有几层, 导入的时候就还是有几层
想导出容器, 但是还想保留层次结构怎么办?
导出容器, 很快就想到唯一一个可以导出容器的工具 export,但是又想保留底层镜像的层次结构, 那么 export 就不符合需求了。想想导出带层次结构的工具就只有镜像导出工具 save 了, 但是容器在镜像层之上还有一层新的数据怎么一起导出去呢?
这个时候就需要引入一个新的参数 commit, 用来保存容器现有的状态为一个新的镜像。
比如在 A 机器上运行的 甲 容器是基于 甲方乙方 这个镜像跑起来的, 那么我就可以通过 commit 参数, 将 甲 容器的所有内容保存为一个新的镜像, 名字叫 私人订制 (内含一梗哦) 最后我再通过镜像导出工具 save 就可以完整的将 私人订制镜像(也就是 甲容器 )导出为一个 tar 包了
而且包含了 X+1 层镜像, X 层是原镜像 甲方乙方 的所有镜像层数, 1是容器 甲 多的那一层可写层的镜像

将镜像推送到Registry

docker login --username=zoey_zqx --password=xxxx registry.cn-hangzhou.aliyuncs.com$ docker login --username=zoey_zqx --password=xxxx  registry.cn-hangzhou.aliyuncs.com
$ docker tag nginx registry.cn-hangzhou.aliyuncs.com/zoeyqq/nginx
$ docker push registry.cn-hangzhou.aliyuncs.com/zoeyqq/nginx

docker容器的导入和导出相关推荐

  1. linux docker导入镜像,Docker镜像的导入和导出

    相关阅读: 场景描述: 需要在客户现场快速部署应用,东西多,时间短 场景分析: 为了节省时间,使用docker进行快速部署,由于不是内部环境,无法使用内部私有库,于是构建镜像,将镜像导出 解决办法: ...

  2. 向Docker容器中导入sql文件

    1 使用docker cp 命令 复制.sql文件到容器中的目录 docker cp /root/tables.sql /tmp/ 2 进入容器内部,导入sql文件到数据库 docker exec - ...

  3. docker镜像批量导入、导出

    实验基础环境: 操作系统: Centos7.6 docker版本: docker 19.03.12 内核版本: 3.10.0-1127.19.1 方法一: a. docker save $(docke ...

  4. docker images 保存导入导出、容器导入导出

    Docker:镜像操作和容器操作 镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello- ...

  5. 【Docker】docker镜像的下载、导出、导入、运行,es为例

    目录 一.使用镜像 1.下载镜像 2.创建容器 2.1 创建容器是遇到的问题 3.页面访问 二.镜像离线导入导出 1.保存docker镜像 2.导入docker镜像 三.进入docker容器 1.查询 ...

  6. DOCKER容器与宿主机同网段互相通信

    相关阅读: Docker容器时间与宿主机同步 使用Docker搭建WordPress博客 Docker私有仓库搭建及镜像删除 Docker镜像的导入和导出 在Docker上部署Ambari 博主最近在 ...

  7. docker pull下载很慢_一文了解Docker容器技术的操作

    一文了解Docker容器技术的操作 前言 相信点进这篇文章的Coder,不管是在各大技术论坛上.技术交流群,亦或招聘网上,应该都有见到过Doker容器技术的面孔,随着社会节奏的加快以及迫于生活的压力, ...

  8. Docker容器化实战第二课 镜像、容器、仓库详解

    03 镜像使用:Docker 环境下如何配置你的镜像? 今天我将围绕 Docker 核心概念镜像展开,首先重点讲解一下镜像的基本操作,然后介绍一下镜像的实现原理.首先说明,咱们本课时的镜像均指 Doc ...

  9. docker容器迁移的解决方案

    本文使用Xshell工具,以mysql为例 一:容器的导入和导出 1:docker export 正在运行的容器id|容器名 > 文件名 (导出容器的内容作为一个归档文件) 这样一个归档的文件就 ...

  10. Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)

    Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...

最新文章

  1. Redhat5虚拟系统安装VmwareTools
  2. C++中void和void*指针的含义 (指针类型的含义)
  3. 如何在 SAP Spartacus 产品明细页面添加自定义 UI
  4. Unity之CharacterController2D学习笔记(1)——基础使用
  5. java快捷键 --_Java中的快捷方式“或分配”(| =)运算符
  6. 【BZOJ1084】【codevs2454】最大子矩阵,DP
  7. 特斯拉柏林超级工厂叕被叫停,先交一个亿再说
  8. Spring框架----用于创建对象的Component注解
  9. Python Windows安装
  10. 为什么要学习 Spring Boot?
  11. Unity基础知识—Transform
  12. Java Wbe开发快速入门
  13. 带你了解Hook技术
  14. NanoPi-NEO——初体验
  15. VS2019怎么没有C++的窗体应用模板_简历中常被忽视的「自我评价」,怎么写?
  16. 【ECSHOP】在任意页面调用商品属性的方法
  17. java全栈系列之JavaSE--数组的三种初始化方法及内存分析024
  18. Android 获取联系人和电话号码
  19. 射手座计算机科学家,水星的思维方式
  20. 好网站--中国代码网China-Code.Net-代码、源代码、源码下载网站

热门文章

  1. 英语口语中的音变现象及读音规则
  2. mysql查询条件为空时不作为条件_怎么实现当查询值为空时,不作为查询条件
  3. 三星固态性能测试软件,三星850 EVO 120G固态硬盘评测——性能测试与保养
  4. Windows PE/COFF
  5. Linux XFS 文件系统文件的删除恢复
  6. excel小技巧1:修改的日期格式为什么要双击一下单元格才能变
  7. Mysql之Specified key was too long; max key length is 767 bytes
  8. oracle怎么查看long类型的值,oracle中对LONG列进行查询
  9. 计算机的认识文档,对计算机专业的认识.pdf
  10. 微信小程序picker组件添加默认选择(单个picker情况)