『 云原生·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进行总结介绍的,如果感兴趣可以关注一下本专栏!