当前位置: 首页 > news >正文

Docker笔记:容器转换成镜像,导出导入镜像,数据拷贝,查看日志

docker commit 将容器转换成镜像

  • 可以把容器转换成镜像
  • 镜像没有写入权限,但可以通过修改容器把容器制作成新镜像
  • 启动容器后,就给容器提供了一个可写层,
    • 在容器里,可安装软件,可创建文件 …
    • 转换成镜像,之后别人启动你的新制作镜像,就有了你操作的一切
  • $ docker run -it --name myalpine alpine /bin/sh
    • $ cd root/
    • $ ls
    • $ echo xxx > aaa.txt
    • $ cat aaa.txt
    • $ exit
  • 将 myalpine 容器制作成镜像
    • $ docker commit myalpine myalpine
    • 格式: $ docker commit 容器id/容器name 新镜像名称
  • 这样就实现了将容器转换成镜像 myalpine

导出导入镜像文件(压缩和解压)

  • 导出:$ docker save 555553322xs > myalpine.tar

    • 语法:$ docker save 镜像id > 压缩包名称
  • 导入,别人解压使用: $ docker load < myalpine.tar

    • 这时候解压缩了,但是没有名称,没有tag,打tag和加名称处理
    • $ docker tag imageId myalpine:v1.0.0
    • 语法 $ docker tag imageId 名称:标签
    • 继续使用 …

docker cp 实现数据的拷贝

  • 将主机 /www/xxx 目录拷贝到容器 myalpine 的 /root 目录下
  • 先将容器运行起来
    • $ docker run -it -d --name mycentos imageId /bin/bash
    • 进入 mycentos容器中的 /root 目录 ls 以下
  • 开始复制,从物理机到容器
    • 语法: $ docker cp 本地目录 容器id:目录
    • $ docker cp /www/xxx 容器id:容器路径
      • 容器id:容器路径 例如: c5ff8b002432:root
    • 进入 docker 容器内部,查看
      • $ docker exec -it mycentos /bin/bash
      • $ cd /root , 之后 ls
      • 发现多了 xxx 目录
  • 拷贝文件到容器并且重命名
    • $ docker cp /root/aaa 容器id:root/bbb
      • 将 aaa 拷贝到容器中,并修改成 bbb
  • 同样,也可将容器中的目录拷贝到物理机上
    • $ docker cp c5ff8b002432:root/a.txt /root
      • 这里将容器内的 root/a.txt 文件拷贝到 物理机的 /root 目录
  • 将物理机当前目录中的所有文件复制到 容器目录内的aaa目录
    • $ docker cp . c5ff8b002432:root/aaa

查看 docker 操作日志

  • 进入容器: $docker run -it --name mycentos c5ff8b002432 /bin/bash
    • $touch aa.txt 执行命令
  • $exit 会停止容器
  • 退出不停止容器,ctrl + p + q
  • $docker ps
    • 显示容器还在运行
  • 查看容器中刚才运行的命令
    • $docker logs c5ff8b002432 可以看容器的操作日志

相关文章:

  • digit函数
  • 一文搞懂OSI参考模型与TCP/IP
  • js-过滤制表符
  • iOS按钮控件UIButton使用
  • Docker 安装Apache Superset 并实现汉化和快速入门
  • 构建自己专属seata-server 镜像(分布式事务)?(第二篇)
  • Android:FragmentHostCallback
  • 从视频中截取指定帧图片
  • 什么是质量工程?
  • 电子取证中Chrome各版本解密Cookies、LoginData账号密码、历史记录
  • [pasecactf_2019]flask_ssti proc ssti config
  • MySQL的事务以及springboot中如何使用事务
  • Java研学-HTML
  • mysql 导入时遇到 的解决 Variable ‘time_zone‘ can‘t、‘character_set_client‘问题
  • C语言----文件操作(二)
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • download使用浅析
  • Git学习与使用心得(1)—— 初始化
  • iOS 系统授权开发
  • js 实现textarea输入字数提示
  • Map集合、散列表、红黑树介绍
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 百度地图API标注+时间轴组件
  • 大型网站性能监测、分析与优化常见问题QA
  • 第十八天-企业应用架构模式-基本模式
  • 如何合理的规划jvm性能调优
  • 软件开发学习的5大技巧,你知道吗?
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 用quicker-worker.js轻松跑一个大数据遍历
  • python最赚钱的4个方向,你最心动的是哪个?
  • 关于Android全面屏虚拟导航栏的适配总结
  • # 透过事物看本质的能力怎么培养?
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #13 yum、编译安装与sed命令的使用
  • (1)STL算法之遍历容器
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (阿里云万网)-域名注册购买实名流程
  • (六)软件测试分工
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (原創) 未来三学期想要修的课 (日記)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 6 redis操作类
  • .Net Core与存储过程(一)
  • .NET的微型Web框架 Nancy
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @Autowired 与@Resource的区别
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [20170728]oracle保留字.txt
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [Angular 基础] - 指令(directives)