docker容器的导入和导出
1.docker容器的导入和导出
一、docker容器的导出
docker export [options] container
OPTIONS说明:
-o表示输出的文件,这里指定了输出的路径,如果没有指定路径,则默认生成到当前文件夹。
示例1:docker export -o redis.tar.gz redis
或 docker 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容器的导入和导出相关推荐
- linux docker导入镜像,Docker镜像的导入和导出
相关阅读: 场景描述: 需要在客户现场快速部署应用,东西多,时间短 场景分析: 为了节省时间,使用docker进行快速部署,由于不是内部环境,无法使用内部私有库,于是构建镜像,将镜像导出 解决办法: ...
- 向Docker容器中导入sql文件
1 使用docker cp 命令 复制.sql文件到容器中的目录 docker cp /root/tables.sql /tmp/ 2 进入容器内部,导入sql文件到数据库 docker exec - ...
- docker镜像批量导入、导出
实验基础环境: 操作系统: Centos7.6 docker版本: docker 19.03.12 内核版本: 3.10.0-1127.19.1 方法一: a. docker save $(docke ...
- docker images 保存导入导出、容器导入导出
Docker:镜像操作和容器操作 镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello- ...
- 【Docker】docker镜像的下载、导出、导入、运行,es为例
目录 一.使用镜像 1.下载镜像 2.创建容器 2.1 创建容器是遇到的问题 3.页面访问 二.镜像离线导入导出 1.保存docker镜像 2.导入docker镜像 三.进入docker容器 1.查询 ...
- DOCKER容器与宿主机同网段互相通信
相关阅读: Docker容器时间与宿主机同步 使用Docker搭建WordPress博客 Docker私有仓库搭建及镜像删除 Docker镜像的导入和导出 在Docker上部署Ambari 博主最近在 ...
- docker pull下载很慢_一文了解Docker容器技术的操作
一文了解Docker容器技术的操作 前言 相信点进这篇文章的Coder,不管是在各大技术论坛上.技术交流群,亦或招聘网上,应该都有见到过Doker容器技术的面孔,随着社会节奏的加快以及迫于生活的压力, ...
- Docker容器化实战第二课 镜像、容器、仓库详解
03 镜像使用:Docker 环境下如何配置你的镜像? 今天我将围绕 Docker 核心概念镜像展开,首先重点讲解一下镜像的基本操作,然后介绍一下镜像的实现原理.首先说明,咱们本课时的镜像均指 Doc ...
- docker容器迁移的解决方案
本文使用Xshell工具,以mysql为例 一:容器的导入和导出 1:docker export 正在运行的容器id|容器名 > 文件名 (导出容器的内容作为一个归档文件) 这样一个归档的文件就 ...
- Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)
Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...
最新文章
- Redhat5虚拟系统安装VmwareTools
- C++中void和void*指针的含义 (指针类型的含义)
- 如何在 SAP Spartacus 产品明细页面添加自定义 UI
- Unity之CharacterController2D学习笔记(1)——基础使用
- java快捷键 --_Java中的快捷方式“或分配”(| =)运算符
- 【BZOJ1084】【codevs2454】最大子矩阵,DP
- 特斯拉柏林超级工厂叕被叫停,先交一个亿再说
- Spring框架----用于创建对象的Component注解
- Python Windows安装
- 为什么要学习 Spring Boot?
- Unity基础知识—Transform
- Java Wbe开发快速入门
- 带你了解Hook技术
- NanoPi-NEO——初体验
- VS2019怎么没有C++的窗体应用模板_简历中常被忽视的「自我评价」,怎么写?
- 【ECSHOP】在任意页面调用商品属性的方法
- java全栈系列之JavaSE--数组的三种初始化方法及内存分析024
- Android 获取联系人和电话号码
- 射手座计算机科学家,水星的思维方式
- 好网站--中国代码网China-Code.Net-代码、源代码、源码下载网站
热门文章
- 英语口语中的音变现象及读音规则
- mysql查询条件为空时不作为条件_怎么实现当查询值为空时,不作为查询条件
- 三星固态性能测试软件,三星850 EVO 120G固态硬盘评测——性能测试与保养
- Windows PE/COFF
- Linux XFS 文件系统文件的删除恢复
- excel小技巧1:修改的日期格式为什么要双击一下单元格才能变
- Mysql之Specified key was too long; max key length is 767 bytes
- oracle怎么查看long类型的值,oracle中对LONG列进行查询
- 计算机的认识文档,对计算机专业的认识.pdf
- 微信小程序picker组件添加默认选择(单个picker情况)