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 可以看容器的操作日志
相关推荐
大佐不会说日语~5 小时前
使用Docker Compose 部署时网络冲突问题排查与解决
运维·网络·spring boot·docker·容器
小徐敲java6 小时前
(运维)1Panel服务器面板Docker部署
运维·服务器·docker
曾几何时`8 小时前
Docker容器化部署编译运行模块
运维·docker·容器
Suchadar10 小时前
Docker基础命令(二)——数据卷管理端口映射与容器互联
运维·docker·容器
firstacui11 小时前
Docker容器网络管理与容器数据卷管理
运维·docker·容器
codeRichLife12 小时前
docker拷贝,导入/导出等常用命令
docker
lpruoyu13 小时前
【Docker进阶-01】Docker隔离原理与可视化界面-Portainer
docker
Swift社区14 小时前
Docker 构建 Python FastAPI 镜像最佳实践
python·docker·fastapi
API开发15 小时前
CentOS 单独安装Docker Compose v2
linux·docker·centos·docker compose
hwj运维之路15 小时前
Docker面试题汇总系列
运维·docker·云原生·容器