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

『 云原生·Docker』Docker容器相关操作(二)

系列文章目录

本系列主要分为以下六大部分,正在更新中,尽请期待!

  • 『 云原生·生之门』
  • 『 云原生·前置知识』
  • 『 云原生·Docker』
  • 『 云原生·Kubernetes』
  • 『 云原生·KubeSphere』
  • 『 云原生·DevOps』

🚩点击关注本专栏


提示:已经更新的或正在更新的文章前面打勾了哈!

文章目录

  • 系列文章目录
  • 前言
  • 一、导入和导出容器
    • 1.导出容器
    • 2.导入容器
  • 二、查看容器
    • 1.查看容器详情
    • 2.查看容器进程
    • 3.查看统计信息
  • 三、其他容器命令
    • 1.复制文件
    • 2.查看变更
    • 3.查看端口映射
    • 4.更新配置
    • 5.查看容器日志
  • 总结


前言

容器是 Docker的另一个核心概念。

简单来说,容器是镜像的一个运行实例(Java中的对象与类)。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时容器中的应用进程处于运行状态。

如果认为虚拟机是模拟运行的一整套操作系统(包括内核、应用运行态环境和其他系统环境)和跑在上面的应用。

那么 Docker容器就是独立运行的一个(或一组)应用,以及它们必需的运行环境。

接上一篇内容现在继续来总结一下Docker容器相关操作。

一、导入和导出容器

在很多时候我们需要将容器从一个系统迁移到另外一个系统,此时可以使用 Docker的导入和导
出功能,这也是 Docker自身提供的一个重要特性。

1.导出容器

导出容器可以导出一个已经创建的容器到一个文件,不管容器处于什么状态,可以使用docker export 命令。

我们可以通过-o选项来指定导出的tar文件名,也可以直接通过重定向来实现。

# 通过-o选项
docker export -o 容器快照名.tar $container_id 
#直接通过重定向
docker export $container_id  >容器快照名.tar

导出后在本地可以看到有一个容器快照名.tar的容器快照,有了容器快照之后,我们可以在想要的时候随时导入。

2.导入容器

导出的文件又可以使用 docker import命令导入变成镜像。

如下将快照导入到镜像test/ubuntu:v1

docker import 容器快照名.tar test/ubuntu:v1

cat 容器快照名.tar | docker import - test/ubuntu:v1

实际上,既可以使用 docker load命令来导人镜像存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。但是他们是有一定区别的。

  • docker import:丢弃了所有的历史记录和元数据信息,仅保存容器当时的快照状态。在导入的时候可以重新制定标签等元数据信息。
  • docker load:将保存完整记录,体积较大。

二、查看容器

1.查看容器详情

查看容器详情可以使用 docker container inspect $container_id 子命令,格式如下:

docker container inspect [OPTTONS] $container_id

査看某容器的具体信息,会以json格式返回包括容器ID、创建时间、路径、状态、镜像、配置等在内的各项信息。

2.查看容器进程

查看容器内进程可以使用 docker top $container_id 子命令,格式如下:

 docker top [OPTIONS] $container_id [ CONTAINER..]

这个命令类似于Linux系统中的 top 命令,会打印出容器内的进程信息包括PID、用户、时间、命令等。

3.查看统计信息

查看统计信息可以使用docker stats子命令,格式如下:

docker stats [ OPTTONS] $container_id

这个命令会显示容器CPU、内存、存储、网络等使用情况的统计信息。

OPTIONS说明:

  • -a, -all:输出所有容器统计信息,默认仅在运行中;
  • -format string:格式化输出信息;
  • -no-stream:不持续输出,默认会自动更新持续实时结果;
  • -no-trunc:不截断输出信息;

三、其他容器命令

1.复制文件

使用container cp 命令支持在容器和主机之间复制文件。

例如:将本地的路径下的文件 c1 复制到 test 容器的 /tmp 路径下:


docker cp c1 test:/tmp/

2.查看变更

使用container diff 查看容器内文件系统的变更。

例如:查看test容器内的数据修改

docker container diff test

3.查看端口映射

使用container port 命令可以查看容器的端口映射情况。

例如:查看test容器的端口映射情况

docker container port test

4.更新配置

使用 container update 命令可以更新容器的一些运行时配置,主要是一些资源限制份额。

5.查看容器日志

使用docker logs可以获取容器的日志,格式如下:

docker logs [OPTIONS] $container_id

OPTIONS说明:

  • -f : 跟踪日志输出
  • --since :显示某个开始时间的所有日志
  • -t : 显示时间戳
  • --tail :仅列出最新N条容器日志

例如:查看指定时间后的日志,只显示最后100行

$ docker logs -f -t --since="2020-02-08" --tail=50 CONTAINER_ID

看看本专栏文章有哪些吧!

本系列文章目录:

  • 『 云原生·生之门』
  • 『 云原生·前置知识』
  • 『 云原生·Docker』
  • 『 云原生·Kubernetes』
  • 『 云原生·KubeSphere』
  • 『 云原生·DevOps』

🚩点击关注本专栏

可以看出来本系列文章将会带你从-1到1的学习云原生的,一起加油吧!

总结

通过本篇内容的介绍和示例,相信大家已经掌握了对容器进行管理的各项操作命令。接下来我会继续对Docker进行总结介绍的,如果感兴趣可以关注一下本专栏!

相关文章:

  • 网站设计做哪些的/快速seo优化
  • 自己做网站除了域名还要买什么/英文站友情链接去哪里查
  • 工人找活平台/网站推广优化是什么意思
  • 郑州网站制作公司/百度一下你就知道下载安装
  • 南京网站设计哪家公司好/站长交流平台
  • 天津网站建立/故事型软文广告
  • 04.好客租房_搭建自己的图床,接入swagger-ui,新增房源列表接口编写
  • Spring Security
  • MySql(35)索引的设计原则
  • 公众号网课搜题功能搭建
  • BUUCTF NewStarCTF 公开赛赛道Week4 Writeup
  • qt creator ui界面修改后运行不产生作用(本质分析)
  • 【Linux线程同步专题】四、信号量
  • Java List 扩容机制探究(ArrayList 、Vector、LinkedList)
  • asp.net在线医疗系统VS开发sqlserver数据库web结构c#编程计算机网页项目
  • 图像处理--形态学处理
  • Shell程序中的流程控制(三)
  • Js内存泄漏情况解析