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 可以看容器的操作日志
相关推荐
南猿北者1 小时前
docker容器
docker·容器
二十雨辰1 小时前
[linux]docker基础
linux·运维·docker
time never ceases2 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
MonkeyKing_sunyuhua4 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林4 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€5 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘5 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者7 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹9 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
ZHOU西口10 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac