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