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】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
Wang's Blog4 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代5 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦6 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵8 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd9 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
Pocker_Spades_A11 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记20 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd1 天前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全